Установить переменную php содержит только выбранный массив

У меня есть этот массив, но я хотел, чтобы он отображал массив только для категории «смотреть» и хотел сохранить выбранный массив в переменной 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,
];
foreach($arr['msg']['page_result'] as $out){if ($out['category']=='watch'){//do something}
user10051234 24.05.2019 01:33
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это должно сработать.

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

Теперь у вас есть массив, содержащий только часы.

Чтобы отобразить его содержимое, используйте:

print_r($watch_array);

Демонстрационная ссылка.

Проверьте эту функцию поиска для вашего требования. Его полностью динамический наряду с рекурсивным характером.

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");

Источник.

спасибо, чувак, это должно помочь. я включу тебя в свой список

spider aladin 25.05.2019 02:29

извините, у меня нет репутации, я пойду на встречу со всеми, кто поможет мне, если мое программное обеспечение будет закончено.

spider aladin 02.08.2019 00:51

Вы можете принять ответ, которые, по вашему мнению, являются лучшим решением вашей проблемы.

Rahul 02.08.2019 07:21

Другие вопросы по теме