Здравствуйте. Возможно насовсем по-русски назвала вопрос, но суть такая:
есть массив:
(
[0] => Array
(
[name_item] => Potato
[size_item] => Array
(
[0] => small
[1] => medium
)
)
[1] => Array
(
[name_item] => Apple
[size_item] => Array
(
[0] => small
[1] => medium
[2] => big
)
)
[2] => Array
(
[name_item] => Orange
[size_item] =>
)
)
Мне нужно узнать, могут ли существовать такие значения: ["Apple","small"] или ["Orange", null];
Я сделала так:
foreach ($items["entries"] as $item) {
if ($item["name_item"] === $postData[0]) {
if (is_array($item["size_item"])) {
foreach ($item["size_item"] as $sizes) {
if ($sizes === $postData[1]) $searchRes = true;
}
} else {
if($item["size_item"] === $postData[1]) $searchRes = true;
}
}
}
Оно работает, но оно меня пугает, потому что выглядит оно как костыль. Также, как видите, там есть фигня с проверкой на массив. У каких-то элементов может не быть вообще размеров, поэтому foreach работать не будет.
Скажите, это единственный способ решения, или можно было сделать это проще? Под "проще" я подразумеваю также "эффективнее".