Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查数组中的对象是否为另一个数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 检查数组中的对象是否为另一个数组

Php 检查数组中的对象是否为另一个数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在尝试访问存储在$\u会话中的数组。我已经在循环之前打印了$u会话的计数和内容 // $_SESSION info. Length: 4 Array ( [loggedIn] => 1 [total] => 0 [plates] => Array ([0] => plates [1] => 14 [2] => 5) [backpack] => Array ([0] => backpack [1] =>

我正在尝试访问存储在$\u会话中的数组。我已经在循环之前打印了$u会话的计数和内容

// $_SESSION info.
Length: 4
Array
(
    [loggedIn] => 1 
    [total] => 0 
    [plates] => Array ([0] => plates [1] => 14 [2] => 5) 
    [backpack] => Array ([0] => backpack [1] => 78 [2] => 1)
)
在这里,我们可以清楚地看到,最后两个对象实际上是数组。但是,当我尝试
is_array
方法时

//PHP code
$length = count($_SESSION);
for ($i = 0; $i < $length; $i++)
{
    if(is_array($_SESSION[$i])){
        echo 'session '.$i.' is an array.<br />';
    }
    else{
        echo 'session '.$i.' is not an array.<br />';
    }
}

API说,
is_array
应该找到,«给定变量是否为数组»。但是,我想我一定是误解了什么…

不要将
用于循环。使用
foreach

foreach ($_SESSION as $key => $val) {
    if (is_array($val)) {
        echo 'session '.$key.' is an array.<br />';
    } else {
        echo 'session '.$key.' is not an array.<br />';
    }
}
foreach($\会话为$key=>$val){
if(is_数组($val)){
echo“session.”$key.”是一个数组。
; }否则{ echo“session.”$key.”不是数组。
; } }
不要对循环使用
。使用
foreach

foreach ($_SESSION as $key => $val) {
    if (is_array($val)) {
        echo 'session '.$key.' is an array.<br />';
    } else {
        echo 'session '.$key.' is not an array.<br />';
    }
}
foreach($\会话为$key=>$val){
if(is_数组($val)){
echo“session.”$key.”是一个数组。
; }否则{ echo“session.”$key.”不是数组。
; } }
这里的问题是,您试图使用数字索引而不是相应的键来迭代关联数组。请尝试以下方法:

foreach ($_SESSION as $key => $value)
{
    if(is_array($value)){
        echo 'session '.$key.' is an array.<br />';
    }
    else{
        echo 'session '.$key.' is not an array.<br />';
    }
}
foreach($\会话为$key=>$value)
{
if(是_数组($value)){
echo“session.”$key.”是一个数组。
; } 否则{ echo“session.”$key.”不是数组。
; } }
这里的问题是,您试图使用数字索引而不是相应的键来迭代关联数组。请尝试以下方法:

foreach ($_SESSION as $key => $value)
{
    if(is_array($value)){
        echo 'session '.$key.' is an array.<br />';
    }
    else{
        echo 'session '.$key.' is not an array.<br />';
    }
}
foreach($\会话为$key=>$value)
{
if(是_数组($value)){
echo“session.”$key.”是一个数组。
; } 否则{ echo“session.”$key.”不是数组。
; } }
使用:

使用:


您的数组已设置关键帧,未编制索引!使用
foreach
$_会话[0..3]不存在。您的数组已设置关键帧,未编制索引!使用
foreach
$_会话[0..3]不存在。