搜索多维stdClass对象

时间:2016-02-02 14:52:39

标签: php arrays search multidimensional-array stdclass

我有这个stdClass对象:

stdClass Object ( 
[summary] => Appuntamenti 
[items] => Array ( 
    [0] => stdClass Object (
        [summary] => Busy 
        [start] => stdClass Object ( 
            [dateTime] => 2016-02-02T17:00:00+01:00 
            [timeZone] => Europe/Rome 
        ) 
        [end] => stdClass Object ( 
            [dateTime] => 2016-02-02T17:30:00+01:00 
            [timeZone] => Europe/Rome 
        ) 
    ) 
) 
)

此stdClass对象是Google日历请求的结果,可能比此更长。

例如,我想检查是否存在具有特定日期时间的事件 如果结果包含"开始 - > 2016-02-02T17:00:00 + 01:00"然后返回true。

我找到了在数组中搜索但不在多维stdClass对象中搜索的方法。

1 个答案:

答案 0 :(得分:4)

在开始时尝试简单foreach

$items = $obj->items; // assuming $obj is your initial object
$sample_date = "2016-02-02T17:00:00+01:00";
$hasNeededDate = false;

foreach ($items as $item) {
   if ($item->start->dateTime == $sample_date) {
       $hasNeededDate = true;
       break;
   }
}

var_dump($hasNeededDate);