首页 > 解决方案 > 设置 php 变量仅包含选定的数组

问题描述

我有这些数组,但我希望它只为“watch”类别回显一个数组,并且想将选定的数组存储在 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,
];

标签: phparraysmultidimensional-array

解决方案


这应该可以解决问题。

$watch_array = array();
foreach($arr["msg"]["page_result"] AS $k => $item) {
    if($item["category"] == "watch") {
        $watch_array[] = $item;
    }
}

您现在有一个仅包含手表的数组。

要显示其内容,请使用:

print_r($watch_array);

推荐阅读