欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php返回数组中指定的一列(php5.5.0默认函数array_column()在php<5.5.0的应用)

程序员文章站 2022-03-28 08:00:39
...
跳至
/**
 * 返回数组中指定的一列
 * http://www.onethink.cn
 * /Application/Common/Common/function.php
 *
 * array_column — PHP 5 >= 5.5.0 默认函数
 * PHP 5 < 5.5.0 则使用自定义函数
 *
 * @access public
 * @param array $input 需要取出数组列的多维数组(或结果集)
 * @param string $columnKey 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。也可以是NULL,此时将返回整个数组(配合indexKey参数来重置数组键的时候,非常管用)
 * @param string $indexKey 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
 * @return array
 */
if (! function_exists('array_column'))
{
    function array_column(array $input, $columnKey, $indexKey = null)
    {
        $result = array();
        if (null === $indexKey)
        {
            if (null === $columnKey)
            {
                $result = array_values($input);
            }
            else
            {
                foreach ($input as $row)
                {
                    $result[] = $row[$columnKey];
                }
            }
        }
        else
        {
            if (null === $columnKey)
            {
                foreach ($input as $row)
                {
                    $result[$row[$indexKey]] = $row;
                }
            }
            else
            {
                foreach ($input as $row)
                {
                    $result[$row[$indexKey]] = $row[$columnKey];
                }
            }
        }
        return $result;
    }
}

2. [代码]演示例子 跳至

 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);
 
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

3. [代码]演示例子会输出: 跳至

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)