如果满足for循环中的if条件,如何获取相应的数组键值

时间:2019-05-31 14:59:23

标签: php arrays

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

当我使用此代码时,我正在获取数组的最后一个键值。如果需要,我也可以灵活地更改数组结构。

$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;

2 个答案:

答案 0 :(得分:1)

您的if语句中有2个问题:

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

  1. Blue是一个字符串,因此您需要一些引号
  2. =用于分配值,=====用于比较。

但是您不应该执行foreach循环来获取答案。如果您只是$group_id = $grouparray['blue'];,就会得到所需的内容,不确定是否需要循环吗?

答案 1 :(得分:0)

您缺少蓝色的引号。

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

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

              }

          }

    print_r($group_id);