>  기사  >  백엔드 개발  >  求教一个PHP二维数组转一维数组最有效率的方法

求教一个PHP二维数组转一维数组最有效率的方法

WBOY
WBOY원래의
2016-06-06 20:23:221407검색

二维数组:

<code>Array
(
    [0] => Array
        (
            [cnname] => 巴宝莉
        )

    [1] => Array
        (
            [cnname] => 巴宝
        )

)</code>

转换结果为

<code>Array('巴宝莉','巴宝');</code>

请尽量不要使用foreach,尽量使用php内置函数

回复内容:

二维数组:

<code>Array
(
    [0] => Array
        (
            [cnname] => 巴宝莉
        )

    [1] => Array
        (
            [cnname] => 巴宝
        )

)</code>

转换结果为

<code>Array('巴宝莉','巴宝');</code>

请尽量不要使用foreach,尽量使用php内置函数

$old = array(array("cnname"=>"巴宝莉"),array("cnname"=>"巴宝"));var_dump(array_column($old,'cnname'));

<code>json_decode(str_replace(array('"cnname":',"{","}"),array('','',''),json_encode($arr)));
效率不敢保证。</code>

<code class="php"><?php $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);
?></code>

Result

<code class="php">Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)</code>

http://php.net/manual/ja/function.array-column.php

<code>$old = array(array("cnname"=>"巴宝莉"),array("cnname"=>"巴宝"));

$new = array();
for($i = 0; $i </code>

array_column($array,'key') 返回数组中指定的一列,可以用作提取二维数组某一列做一维数组(5.5以上才能使用)
谁用谁知道,我自己的笔记~项目中碰到过的。。

array_map(function($a){return $a['cnname']},$arr)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.