2011-09-13 2 views
0

내가이PHP multidimetional 배열 널 체크

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

을 다음과 같이 내가 배열이 비어있는 경우 내가 확인하고 싶은 그것을 무너 뜨리는

print_r($result); 

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

Web 서비스를 통해 나에게 전달 된 다음 값 (로 그것은 위에있다).

Cannot use object of type stdClass as array

를 확인하는 가장 좋은 방법은 무엇입니까 : 내가 치명적인 오류로하지만 난

$result[$i]->array[0]; 

를 통해 배열에 액세스하지 못할?

답변

1

stdClass는 배열이 아니므로 객체입니다. 하지만 당신은 배열처럼 액세스 :

$result[$i] 
     ^^^^ 

가합니다 (foreach없이) 같은 것을해야하지 :

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

UPDATE :이 비어있는 경우

그래서 당신은, 테스트하기 사용할 수 있습니다

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

stdClass 객체 ([배열] => 배열)는 $ result의 print_r입니다. – David