if (!function_exists('array_column')) {
function array_column($array, $columnKey, $indexKey = null) {
// 如果不是数组,直接返回空
if (!is_array($array)) return array();
// 预存数组
$returnArray = array();
if (!$indexKey) {
foreach ($array as $value) {
if (is_array($value) && isset($value[$columnKey])) $returnArray[] = $value[$columnKey];
}
} else {
foreach ($array as $key => $value) {
if (is_array($value) && isset($value[$indexKey])) {
// 如果没有column_key,则返回整个第二维数组
if (!$columnKey) {
$returnArray[$value[$indexKey]] = $value; continue;
}
// 有column_key,则填入返回数组,否则直接跳过该第二维数组
if (isset($value[$columnKey])) {
$returnArray[$value[$indexKey]] = $value[$columnKey];
} else {
continue;
}
} else {
continue;
}
}
}
return $returnArray;
}
}