自己写的兼容低于PHP 5.5版本的array_column()函数
array_column用于获取二维数组中的元素(PHP5.5新增函数),但我们有时候需要在低版本的PHP环境中使用…
if(!function_exists('array_column'))
{
functionarray_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)$inputAS$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;
}
}