У меня есть массив, который может содержать многомерные элементы. Для заполнения флажков из базы данных в форме редактирования мне нужно проверить определенные пары ключ-значение из этого массива.Найти значения в массиве, где некоторые элементы имеют несколько измерений
массив ($ areastools) может выглядеть следующим образом:
array:9 [▼
15 => array:2 [▼
0 => 1
1 => 4
16 => 4
45 => array:2 [▶]
47 => 4
50 => array:2 [▶]
51 => 4
]
Первый ключ является Удельным идентификатором ($ площадь-> pivot-> идентификатор), а значения являются идентификаторами инструмента ($ tool-> идентификатор).
В настоящее время у меня есть этот чек, где установлен флажок, если
(array_key_exists($area->pivot->id, $areastools) &&
($areastools[$area->pivot->id] == $tool->id))
Это работает для всех элементов массива, которые не являются многомерными. Правильные флажки затем проверяются в форме редактирования.
Но когда два инструмента добавлены в одну и ту же область, отмечены флажки для ни одного из этих инструментов, так как условие не проверяет правильность значений, если в области имеется много инструментов.
Я искал и пытался, но не могу узнать, как это сделать. Кто-нибудь может мне помочь, пожалуйста!
Вы попробуйте проверить, если значение массива? Посмотрите руководство здесь: http://php.net/manual/en/function.is-array.php –