Php 检查数组中的对象是否为另一个数组
我正在尝试访问存储在$\u会话中的数组。我已经在循环之前打印了$u会话的计数和内容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] =>
// $_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]不存在。