php教程

超轻量级php框架startmvc

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

更新时间:2020-02-28 21:03 作者:startmvc
array_column用于获取二维数组中的元素(PHP5.5新增函数),但我们有时候需要在低版本的PHP环境

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


if( ! function_exists('array_column'))
{
 function array_column($input, $columnKey, $indexKey = NULL)
 {
 $columnKeyIsNumber = (is_numeric($columnKey)) ? TRUE : FALSE;
 $indexKeyIsNull = (is_null($indexKey)) ? TRUE : FALSE;
 $indexKeyIsNumber = (is_numeric($indexKey)) ? TRUE : FALSE;
 $result = array();

 foreach ((array)$input AS $key => $row)
 { 
 if ($columnKeyIsNumber)
 {
 $tmp = array_slice($row, $columnKey, 1);
 $tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : NULL;
 }
 else
 {
 $tmp = isset($row[$columnKey]) ? $row[$columnKey] : NULL;
 }
 if ( ! $indexKeyIsNull)
 {
 if ($indexKeyIsNumber)
 {
 $key = array_slice($row, $indexKey, 1);
 $key = (is_array($key) && ! empty($key)) ? current($key) : NULL;
 $key = is_null($key) ? 0 : $key;
 }
 else
 {
 $key = isset($row[$indexKey]) ? $row[$indexKey] : 0;
 }
 }

 $result[$key] = $tmp;
 }

 return $result;
 }
}