У меня есть двухмерный двухмерный массив, подобный этому. Они динамически создаются, поэтому внутри они могут иметь различное количество массивов.php проверить, если все значения из одного двухмерного массива находятся в другом двумерном массиве
$userInput['shops'] = Array
(
[0] => Array
(
[id] => 9
)
)
и другой, который выглядит следующим образом:
$userShops = Array
(
[0] => Array
(
[id] => 9
)
[1] => Array
(
[id] => 10
)
)
Первый массив является то, что я receve от должности, идентификаторы отдельных магазинов. Второй массив показывает все идентификаторы магазинов, которые есть у пользователя. Как я могу проверить, можно ли найти все значения из userInput в массиве userShops? Я использую это для проверки, поэтому мне нужно увидеть, соответствуют ли все значения из столбца действительным значениям для пользователя.
Я попытался сделать это вот так, но я получаю oknot как результат, поэтому я думаю, что это должно быть построено по-другому, возможно, чтобы каким-то образом совместить совпадения ... Вы должны игнорировать мой код, потому что я думаю, что это плохой подход .. Короче, мне нужно проверить, можно ли найти все значения из первого массива во втором, если не показывать ошибку.
if(isset($userInput['shops']) && is_array($userInput['shops'])){
foreach($userInput['shops'] as $input){
foreach($userShops as $userShop){
if(in_array($input, $userShop)){
print_r('ok');
}
else {
print_r('not'); or show validation error
}
}
}
exit;
}
Спасибо, это помогло. Я просто сгладил второй массив, и я спросил в foreach, если значения из сообщения - in_array(), второй массив. array_diff показал некоторую странную ошибку :) – user2406735