Я зацикливаюсь на совпадения строк между двумя массивами, удаляя эти значения там, где они есть, так что остаются только пустые значения $ check, в данном случае $ check [5].
Второй, $ check, является многомерным.
$names = ["bob", "selena", "hailey", "rob", "justin", "robocop"];
$check = [
["justin"], //bob
["justin", "selena", "robocop"], //selena
["justin"], //hailey
["justin", "rob"], //rob
[], //justin
["justin", "selena", "bob"] //robocop
];
for ($i = 0; $i < count($names); $i++) {
for ($j = 0; $j < count($check); $j++) {
if (in_array($names[$i], $check[$j])) {
unset($check[$j]);
}
}
}
Первый цикл проходит по $ names, второй по $ check.
Если текущая строка из $ names ($names[i]
) присутствует в текущем массиве $check ($check[j])
, массив удаляется.
Однако консоль выводит предупреждение: in_array()
ожидает, что параметр 2 будет массивом, задан ноль.Я нахожу это странным, потому что $check[j]
должен быть равен одному из массивов внутри $ check.
Можно ли как-нибудь это исправить?