首頁 >php教程 >php手册 >php返回数组中指定的一列(php5.5.0默认函数array_column()在php

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

PHP中文网
PHP中文网原創
2017-03-15 13:23:041481瀏覽

array_column() 返回数组中指定键名的列 (PHP 5 =5.5.0) array_column—返回数组中指定的一列

 如果php版本小于5.5.0怎么办呢?我们自定义一个 以下代码摘自onethink OneThink ThinkPHP

array_column() 返回数组中指定键名的列

(PHP 5 >= 5.5.0)

array_column — 返回数组中指定的一列

如果php版本小于5.5.0怎么办呢?我们自定义一个

以下代码摘自onethink OneThink ThinkPHP

/**
 * 返回数组中指定的一列
 * 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(&#39;array_column&#39;))
{
    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;
    }
}
<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        &#39;id&#39; => 2135,
        &#39;first_name&#39; => &#39;John&#39;,
        &#39;last_name&#39; => &#39;Doe&#39;,
    ),
    array(
        &#39;id&#39; => 3245,
        &#39;first_name&#39; => &#39;Sally&#39;,
        &#39;last_name&#39; => &#39;Smith&#39;,
    ),
    array(
        &#39;id&#39; => 5342,
        &#39;first_name&#39; => &#39;Jane&#39;,
        &#39;last_name&#39; => &#39;Jones&#39;,
    ),
    array(
        &#39;id&#39; => 5623,
        &#39;first_name&#39; => &#39;Peter&#39;,
        &#39;last_name&#39; => &#39;Doe&#39;,
    )
);
 
$first_names = array_column($records, &#39;first_name&#39;);
print_r($first_names);
?>
Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn