php - 二维数组只选择目标字段
迷茫
迷茫 2017-04-11 09:47:34
[PHP讨论组]

我现在二维数组中有1千多条数据,每条数据中字段都有冗余,我现在每条数据中只需要我红框框出来的3条目标字段就好啦,其他的都不要,
我现在知道要用双重的foreach循环来做,但是一直做不出来,还请大家帮忙解答一下,谢谢
图如下:

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
天蓬老师

题主你是想把二位数组里你想要的字段取出来吗, 不用两次foreach

<?php

//---构造测试数据 ---
$arry = [];
for ($i=0; $i < 1000; $i++) { 
    $arry[] = [
        'platform_good_id' => mt_rand(1, 2000),
        'good_name' => 'goodname' . $i,
        'xxxxxxx' => 'xxxxx',
        'wadadad' => 'adwawdadwad',
        'remake' => ''
    ];
}
//---构造测试数据 ---



$data = [];

foreach ($arry as $key => $value) {
    $data[] = [
        'platform_good_id' => $value['platform_good_id'],
        'good_name'        => $value['good_name'],
        'remake'           => $value['remake'],
    ];
}


var_dump($data);

PHPz

如下:

<!DOCTYPE html>
<html>
<body>

<?php


$arr = array(
    "a"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"),
    "b"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"),
    "c"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"),
    "d"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"),
    "e"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"));

$result = array();

foreach ($arr as $k => $v){
    $result[$k] = array();
    foreach($v as $key => $value){
        if($key === "b" || $key === "d" || $key === "e"){
            $result[$k][$key] = $value;
        }
    }
}
print_r($arr);
print("<br/>");
print_r($result);
?>

</body>
</html>

以上代码是提取其中键值为 b d e的元素然后组成一个新的数组。

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

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