簡體   English   中英

使用foreach鍵值從PHP數組獲取特定值

[英]Get specific value from PHP array using foreach key value

我有以下數組:

array(15) { 
    [0]=> object(stdClass)#317 (2) { ["id"]=> string(1) "2" ["value"]=> string(1) "1" } 
    [1]=> object(stdClass)#316 (2) { ["id"]=> string(1) "3" ["value"]=> string(531) "awfaww" }   
    [2]=> object(stdClass)#315 (2) { ["id"]=> string(1) "4" ["value"]=> string(1) "1" } 
    [3]=> object(stdClass)#318 (2) { ["id"]=> string(1) "5" ["value"]=> string(1) "1" } 
    [4]=> object(stdClass)#319 (2) { ["id"]=> string(1) "6" ["value"]=> string(1) "1" } 
    [5]=> object(stdClass)#320 (2) { ["id"]=> string(1) "7" ["value"]=> string(1) "1" } 
    [6]=> object(stdClass)#321 (2) { ["id"]=> string(1) "8" ["value"]=> string(1) "1" } 
    [7]=> object(stdClass)#322 (2) { ["id"]=> string(2) "30" ["value"]=> string(8) "12:30:02" }
    [8]=> object(stdClass)#323 (2) { ["id"]=> string(2) "31" ["value"]=> string(8) "18:12:00" }
    [9]=> object(stdClass)#324 (2) { ["id"]=> string(2) "11" ["value"]=> string(10) "2014-06-17" } 
    [10]=> object(stdClass)#325 (2) { ["id"]=> string(2) "12" ["value"]=> string(10) "2014-06-26" } 
    [11]=> object(stdClass)#326 (2) { ["id"]=> string(2) "14" ["value"]=> string(1) "2" }       
    [12]=> object(stdClass)#327 (2) { ["id"]=> string(2) "15" ["value"]=> string(1) "2" } 
    [13]=> object(stdClass)#328 (2) { ["id"]=> string(2) "16" ["value"]=> string(1) "4" } 
    [14]=> object(stdClass)#329 (2) { ["id"]=> string(2) "17" ["value"]=> string(1) "5" } 
} 

我想使用ID從此數組中獲取特定值。 例如,如果在數組中找到ID:11,則要檢索其值。 我怎樣才能做到這一點?

嘗試這樣的事情:

<?php
function findById($array, $id) {
    foreach ($array as $value) {
        if ($value->id == $id) {
            return $value->value;
        }
    }
    return null;
}
$result = findById($yourArray, 11);
?>

如果數組在每次運行時都是靜態的-我建議使用以下方法將數組更改為“ key” =>“ value”數組:

$new_arr = array();
foreach($original_array as $object) {
    $new_arr[$object->id] = $object->value;
}

然后您可以只使用$new_arr[id] ,而不是每次都搜索整個原始數組。

您可以使用array_filter

array_filter($arr, function($i) { return $i->id == '11'; });

請參閱說明文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM