Как проверить, есть ли в массиве пустое значение с неуказанным индексом в PHP? - PullRequest
1 голос
/ 05 мая 2020

Как я могу проверить, содержит ли какой-либо из массивов пустые поля (они оба являются динамическими c массивами, поэтому пустое значение может быть в любом индексе в обоих из них)?

Array1 ( [0] => dfsg [1] => dfasg [2] => d5g [3] => )
Array2 ( [0] => d54fgv [1] => [2] => df4g4 [3] => d645 )

Это было бы хорошо знать, по какому индексу, в противном случае просто знать, есть ли какие-либо пустые поля.

1 Ответ

1 голос
/ 05 мая 2020

Есть много способов добиться этого. На ум приходит проверка, меньше ли количество отфильтрованной версии, чем в исходном массиве. Вы даже можете настроить это, чтобы указать, какой тип значений фильтра вы ищете, указав закрытие для array_filter().

if (count(array_filter($a1)) < count($a1)) {
    echo '$a1 has at least one empty value';
}

Из руководства array_filter(),

Если обратный вызов не предоставлен, все записи массива, равные FALSE (см. преобразование в логическое ), будут удалены.

Если вам нужно знать, какой индекс (а) пуст, вы можете проверить разницу фильтрованного массива с помощью исходный массив через array_diff(). Затем вы можете использовать array_keys() в отфильтрованном массиве, чтобы получить все индексы.

...