2010-05-03 5 views
1
array(2) { 
    [0]=> 
    object(stdClass)#144 (7) { 
    ["id"]=> 
    string(1) "2" 
    ["name"]=> 
    string(8) "name1" 
    ["value"]=> 
    string(22) "Lorem Ipsum Dolar Amet" 
    ["type"]=> 
    string(8) "textarea" 
    ["group"]=> 
    string(1) "1" 
    ["published"]=> 
    string(1) "1" 
    ["ordering"]=> 
    string(1) "1" 
    } 
    [1]=> 
    object(stdClass)#145 (7) { 
    ["id"]=> 
    string(1) "4" 
    ["name"]=> 
    string(6) "Link1" 
    ["value"]=> 
    string(36) "abcabcab" 
    ["type"]=> 
    string(4) "link" 
    ["group"]=> 
    string(1) "1" 
    ["published"]=> 
    string(1) "1" 
    ["ordering"]=> 
    string(1) "2" 
    } 
} 

id = 4의 "값"(abcabcab) 만 인쇄하고 싶습니다. 이것을 어떻게 할 수 있습니까?PHP에서 array의 특정 값을 출력하는 방법은 무엇입니까?

답변

1
foreach ($array as $entry) { 
    if ($entry['id'] == 4) 
     echo $entry['value']; 

} 
+2

그것은 객체이기 때문에, 객체 속성 구문은'$ entry-> value'에 대해 바람직합니다. – Thorarin

1
array_walk($a, function($el){if($el->id === 4){print $el->value;}}); 
+0

PHP 5.3 이상이고 약간 ... 이국적입니다. 바라기를 이것은 혀로하는 뺨 응답 이었습니까? :) – Thorarin

+0

가끔씩 다른 접근 방식을 사용하는 것이 좋습니다. :) –

2
foreach($array as $row){ 
if($row['id']==4){ 
    print($row['value']); 
} 
} 
+0

id가 문자열이라는 점에 유의하십시오. 여기서 내가 이상한 변환을 기대하지는 않지만 가능한 경우 비교를 위해 유형 변환을하지 않는 편이 좋습니다. – Jasper

1

이 작동합니다

foreach ($array as $entry) { 
    if ($entry->id == 4) 
     echo $entry->value; 
} 

감사합니다!

관련 문제