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

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

PHP中文网
PHP中文网Original
2017-03-15 13:23:041300Durchsuche

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
)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn