龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php返回数组中指定的一列(php5.5.0默认函数array

时间:2014-07-22 14:47来源: 作者: 点击:
分享到:
array_column() 返回数组中指定键名的列(PHP 5 = 5.5.0)array_column — 返回数组中指定的一列php参考手册:http://www.php.net/manual/zh/function.array-column.php如果php版本小于5.5.0怎么办呢?我们自定义一个
array_column() 返回数组中指定键名的列
(PHP 5 >= 5.5.0)
array_column — 返回数组中指定的一列
php参考手册:http://www.php.net/manual/zh/function.array-column.php

如果php版本小于5.5.0怎么办呢?我们自定义一个
以下代码摘自onethink
/**
 * 返回数组中指定的一列
 * 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. [代码]演示例子     跳至 [1] [2] [3] [全屏预览]

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 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. [代码]演示例子会输出:     跳至 [1] [2] [3] [全屏预览]

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)
精彩图集

赞助商链接