📅  最后修改于: 2023-12-03 15:03:42.938000             🧑  作者: Mango
在 PHP 中,数组可以是单维或多维的。在某些情况下,我们需要确定一个数组是否是多维的,以便后续处理。以下是 PHP 中检查数组是否是多维的几种方法。
/**
* 检查数组是否是多维的
*
* @param array $arr 待检查的数组
*
* @return bool 如果是多维数组则返回 true,否则返回 false
*/
function is_multidimensional_array($arr) {
if (!is_array($arr)) {
return false;
}
foreach ($arr as $key => $value) {
if (is_array($value)) {
return true;
}
}
return false;
}
// 测试代码
$arr1 = array(1,2,3);
$arr2 = array(1, array(2,3), 4);
var_dump(is_multidimensional_array($arr1)); // false
var_dump(is_multidimensional_array($arr2)); // true
/**
* 检查数组是否是多维的
*
* @param array $arr 待检查的数组
*
* @return bool 如果是多维数组则返回 true,否则返回 false
*/
function is_multidimensional_array($arr) {
return count(array_filter($arr, 'is_array')) > 0;
}
// 测试代码
$arr1 = array(1,2,3);
$arr2 = array(1, array(2,3), 4);
var_dump(is_multidimensional_array($arr1)); // false
var_dump(is_multidimensional_array($arr2)); // true
/**
* 检查数组是否是多维的
*
* @param array $arr 待检查的数组
*
* @return bool 如果是多维数组则返回 true,否则返回 false
*/
function is_multidimensional_array($arr) {
if (!is_array($arr)) {
return false;
}
foreach ($arr as $key => $value) {
if (is_array($value)) {
return true;
}
if (is_object($value)) {
$value = (array)$value;
return $this->is_multidimensional_array($value);
}
}
return false;
}
// 测试代码
$arr1 = array(1,2,3);
$arr2 = array(1, array(2,3), 4);
var_dump(is_multidimensional_array($arr1)); // false
var_dump(is_multidimensional_array($arr2)); // true
以上便是几种检查数组是否是多维的方法,可以根据具体情况选择其中一种方法使用。