【问题标题】:PHP multidimetional array null checkPHP多维数组空检查
【发布时间】:2011-09-13 06:44:00
【问题描述】:

我通过网络服务将以下值传递给我

print_r($result);

stdClass Object (
    [array] => Array ( [0] => [1] => ) 
) 

我把它分解如下

$result = $array->return;
foreach ($result as $val2)
{
    $temp = $result[$i]->array[0];
    $temp .= " - ". $result[$i]->array[1];
}

我想检查数组是否为空(如上所示)。但我无法通过

访问数组
$result[$i]->array[0];

当我遇到致命错误时:

不能使用 stdClass 类型的对象作为数组

最好的检查方法是什么?

【问题讨论】:

    标签: object multidimensional-array php


    【解决方案1】:

    stdClass 不是一个数组,它是一个对象。但是你可以像访问数组一样访问它:

    $result[$i]
           ^^^^
    

    不应该是这样的(没有foreach):

    $array = $result->array;
    $temp  = vsprintf('%s - %s', $array);
    

    更新:

    所以要测试它是否为空,你可以使用

    if (empty($result->array[0]))
       ....
    

    【讨论】:

    • stdClass Object ( [array] => Array ( [0] => [1] => ) ) 是 $result 的 print_r
    猜你喜欢
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多