为了账号安全,请及时绑定邮箱和手机立即绑定

设置 php 变量只包含选定的数组

设置 php 变量只包含选定的数组

PHP
陪伴而非守候 2021-07-05 12:44:15
我有这些数组,但我希望它只为“手表”类别回显数组,并希望将选定的数组存储在 PHP 变量中,我必须尝试在网上搜索以找到解决方案,但没有成功。$arr = [    'status' => 1,    'msg' => [            'total_records' => 5,            'total_pages' => 1,            'page_number' => 1,            'per_page' => 100,            'return_count' => 5,            'page_result' => [                    0 => array                        (                            'items' => 200052001,                            'code' => 501,                            'category' => 'watch',                            'price' => 50,                            'stock' => 1,                        ),                    1 => array                        (                            'items' => 200052001,                            'code' => 401,                            'category' => 'shirt',                            'price' =>3,                            'stock' => 1,                        ),                    2 => array                        (                            'items' => 200052001,                            'code' => 172758801,                            'category' => 'watch',                            'price' => 200,                            'stock' => 1,                        ),                ],        ],    'errcode' => 0,];
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这应该可以解决问题。


$watch_array = array();

foreach($arr["msg"]["page_result"] AS $k => $item) {

    if($item["category"] == "watch") {

        $watch_array[] = $item;

    }

}

你现在有一个只包含手表的数组。


要显示其内容,请使用:


print_r($watch_array);


查看完整回答
反对 回复 2021-07-09
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

根据您的要求检查此搜索功能。它完全动态以及递归性质。


function search($array, $key, $value)

{

    $results = [];

    if (is_array($array)) {

        if (isset($array[$key]) && $array[$key] == $value) {

            $results[] = $array;

        }

        foreach ($array as $subarray) {

            $results = array_merge($results, search($subarray, $key, $value));

        }

    }

    return $results;

}

$temp = search($arr, "category", "watch");


查看完整回答
反对 回复 2021-07-09
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号