Проверка одного и того же элемента в каждом подмассиве

#php #cakephp

#php #cakephp

Вопрос:

Я немного застрял с этим массивом, поэтому я ценю любое решение, комментарий, что угодно. У меня есть такой массив:

 array(3) {
    [0]=>array(1) {
        ["ToursPrices"]=>array(1) {
            ["forced"]=>string(1) "1"
        }
    }
    [1]=>array(1) {
        ["ToursPrices"]=>array(1) {
            ["forced"]=>string(1) "0"
        }
    }
    [2]=>array(1) {
        ["ToursPrices"]=>array(1) {
            ["forced"]=>string(1) "0"
        }
    }
}
  

Я хотел бы проверить forced элемент, чтобы увидеть, все ли forced элементы имеют значение «1». Если все они имеют значение «1», мне нужно установить $all_forced = true , иначе мне нужно установить $all_forced = false . Есть идеи, как я могу это сделать? Заранее спасибо за ответы.

Комментарии:

1. Тьфу, я действительно хотел print_r() var_export() бы, чтобы на сайте была функция автоматического включения.

2. Установите $all_forced = true , выполните цикл, проверьте, равен ли каждый $arr["ToursPrices"]["forced"] 1. Если это не так, установите $all_forced = false и завершите цикл.

3. @MLeFevre спасибо за идею, я обязательно это сделаю.

Ответ №1:

 $all_forced = true;

        $d = array(
            array('ToursPrices'=> array('forced'=>1)),
            array('ToursPrices'=> array('forced'=>1)),
            array('ToursPrices'=> array('forced'=>0)),
        );

        foreach($d as $el){
            if(!$el['ToursPrices']['forced']){
                $all_forced = false;
                break;
            }
        }

        debug($all_forced);