首页 > 解决方案 > 如果满足for循环中的if条件,如何获取相应的数组键值

问题描述

我有任何带有键和值的数组,如果键等于某个字符串,我想获取键的值。

当我使用这段代码时,我得到了数组的最后一个键值。如果我们愿意,我也可以灵活地更改数组结构。

$grouparray =[ "red" => "4" , "blue" =>"5" , "green" => "6"];

foreach($grouparray   as $x=>$x_value){
          if($x=blue){
              $group_id=$x_value;

          }

      }

print_r($group_id);

我想期待$group_id = 5;

标签: phparrays

解决方案


您的if陈述中有两个问题:

替换if ($x=blue) {if ($x == "blue") {

  1. Blue是一个字符串,所以你需要一些引号
  2. =是赋值,==还是===比较。

但是你不应该做一个 foreach 循环来得到你的答案。如果你只是这样做$group_id = $grouparray['blue'];你会得到你想要的,不知道为什么你需要一个循环?


推荐阅读