Можно создать дубликат:
Checking if array is multidimensional or not?Проверьте, если массив многомерный
Как проверить, является ли массив многомерный или нет в PHP?
Можно создать дубликат:
Checking if array is multidimensional or not?Проверьте, если массив многомерный
Как проверить, является ли массив многомерный или нет в PHP?
Использование рассчитывать дважды, один с одним параметром, и один с рекурсивным режимом
if (count($myarray) == count($myarray, COUNT_RECURSIVE))
{
echo 'MyArray is not multidimensional';
}
else
{
echo 'MyArray is multidimensional';
}
COUNT (массивом, режим)
режим --- дополнительно. Определяет режим функции. Возможные значения:
Примечание: Этот параметр был добавлен в PHP 4,2
Это не работает, если массив подобен этому - ['a', 'b', []] –
Многомерные массивы на PHP - это просто массивы, содержащие массивы. Таким образом, простая функция для этого может быть написана как
function is_multidim_array($arr) {
if (!is_array($arr))
return false;
foreach ($arr as $elm) {
if (!is_array($elm))
return false;
}
return true;
}
Это будет проходить через каждый элемент $arr
и проверить, является ли это массив. Если он сталкивается с элементом, который не является массивом, он вернет false. В противном случае верните true.
Зависит от того, что вы считаете многомерным. Я бы рассмотрел любой массив, который содержит другой массив, который должен быть многомерным. Каждое отдельное значение не обязательно * имеет * другой массив. – animuson
Я бы рассмотрел любой массив, чьи прямые дочерние элементы также были массивами, чтобы быть многомерными. – jcolebrand
Это не работает для '[1, [1, 2]]'. – Antti29
Я думаю, что это один имеет лучший «ответ», предполагая, что ОМ попал в число – Ascherer
@Ascherer: Этот ответ также доступен по дублированному вопросу. Я был бы гораздо более благодарен за редактирование этого ответа с дополнительной информацией, кроме сохранения дублирующего вопроса. – animuson
требует, чтобы другой плакат принимал этот ответ – Ascherer