当前位置:首页 > PHP教程 > php函数 > 列表

自己写的兼容低于PHP 5.5版本的array_column()函数

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-18 22:04:32 浏览: 评论:0 

这篇文章主要介绍了自己写的兼容低于PHP 5.5版本的array_column()函数,array_column是PHP 5.5新增函数,有时在低版本中也可能要用到,需要的朋友可以参考下

array_column 用于获取二维数组中的元素(PHP 5.5新增函数),但我们有时候需要在低版本的PHP环境中使用…

  1. if( ! function_exists('array_column')) 
  2.   function array_column($input$columnKey$indexKey = NULL) 
  3.   { 
  4.     $columnKeyIsNumber = (is_numeric($columnKey)) ? TRUE : FALSE; 
  5.     $indexKeyIsNull = (is_null($indexKey)) ? TRUE : FALSE; 
  6.     $indexKeyIsNumber = (is_numeric($indexKey)) ? TRUE : FALSE; 
  7.     $result = array(); 
  8.  
  9.     foreach ((array)$input AS $key => $row
  10.     {  
  11.       if ($columnKeyIsNumber
  12.       { 
  13.         $tmp = array_slice($row$columnKey, 1); 
  14.         $tmp = (is_array($tmp) && !emptyempty($tmp)) ? current($tmp) : NULL; 
  15.       } 
  16.       else 
  17.       { 
  18.         $tmp = isset($row[$columnKey]) ? $row[$columnKey] : NULL; 
  19.       } 
  20.       if ( ! $indexKeyIsNull
  21.       { 
  22.         if ($indexKeyIsNumber
  23.         { 
  24.           $key = array_slice($row$indexKey, 1); 
  25.           $key = (is_array($key) && ! emptyempty($key)) ? current($key) : NULL; 
  26.           $key = is_null($key) ? 0 : $key
  27.         } 
  28.         else 
  29.         { 
  30.           $key = isset($row[$indexKey]) ? $row[$indexKey] : 0; 
  31.         }//www.phpfensi.com 
  32.       } 
  33.  
  34.       $result[$key] = $tmp
  35.     } 
  36.  
  37.     return $result
  38.   } 

Tags: PHP5 5 array_column

分享到: