簡體   English   中英

在PHP數組中搜索值

[英]Search values in php array

我有一個像這樣的數組:

array(5) { 
[0]=> array(1) { ["go-out"]=> string(7) "#0d4b77" } 
[1]=> array(1) { ["cycling"]=> string(7) "#1472b7" } 
[2]=> array(1) { ["diving"]=> string(7) "#1e73be" } 
[3]=> array(1) { ["exploring"]=> string(7) "#062338" } 
[4]=> array(1) { ["eating"]=> string(7) "#f79e1b" } 
} 

假設我有第一個值,例如“ cycling”,那么如何找到“#147217”值?

我一直在嘗試很多組合

foreach ( $array as $key => list($key1 ,$val)) {
           if ($key1 === $id) {
               return $val;
           }
       }

但是沒有運氣。 有想法嗎?

您可以使用array_column

array_column($your_array, 'cycling');

演示

您還應該添加對密鑰是否存在的檢查。

你仍然可以做一個循環

$id =  "cycling";   
foreach($array as $val)
   if(isset($val[$id])) echo $val[$id];

Evail.in上的演示

我已經重新設置了游覽代碼,可以嘗試一下,該方法有效:

$array = array(
    0 => array("go-out" => "#0d4b77"),
    1 => array("cycling" => "#1472b7"),
    2 => array("diving" => "#1e73be"),
    3 => array("exploring" => "#062338"),
    4 => array("eating" => "#f79e1b")
);

$id = "cycling";

foreach ($array as $key => $entry) {
    if ($entry[$id]) {
        echo $entry[$id];
    }
}
$array = array(
    0 => array("go-out" => "#0d4b77"),
    1 => array("cycling" => "#1472b7"),
    2 => array("diving" => "#1e73be"),
    3 => array("exploring" => "#062338"),
    4 => array("eating" => "#f79e1b")
);

$search = "cycling";

foreach ($array as $key => $entry)
    if (isset($entry[$search]))
        echo $entry[$search];

這樣可行。

美好的一天。

暫無
暫無

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

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