繁体   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