求教一个PHP二维数组转一维数组最有效率的方法
巴扎黑
巴扎黑 2017-04-10 16:25:25
[PHP讨论组]

二维数组:

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

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

)

转换结果为

Array('巴宝莉','巴宝');

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

巴扎黑
巴扎黑

全部回复(5)
高洛峰

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

阿神
json_decode(str_replace(array('"cnname":',"{","}"),array('','',''),json_encode($arr)));
效率不敢保证。
PHP中文网
$old = array(array("cnname"=>"巴宝莉"),array("cnname"=>"巴宝"));

$new = array();
for($i = 0; $i < count($old); $i++){
    $new[] = $old[$i]["cnname"];
}

var_dump($new);
天蓬老师

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

阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号