如何在double数组中匹配变量值

vanimi 发布于 2019-08-14 arrays 最后更新 2019-08-14 08:39 1 浏览

我有一个像下面的示例代码一样的问题:

$code='100'; //$maybe $code='0' or $code='1' ... i just set a number as an sample
$xx=array(
'0'=>array(a,b,c),
'1'=>array(d,e,f), 
........
'100'=>array(aa,bb,cc)
);
我想在数组中找到$ code:
if($code==$xx['$code']){
echo $xx['code'][0];  //if i want get the value 'aa'
}
但是,$xx['$code']似乎不起作用。 有谁知道解决它的正确方法吗?
已邀请:

gqui

赞同来自:

首先,你需要使用array_key_exists来获取if条件,然后你就可以像使用它一样使用它

if(array_key_exists($code,$xx)){
    echo $xx[$code][0];  
}
或者可以简单地使用isset而不是像
if(isset($xx[$code])){
    echo $xx[$code][0];  
}

zin

赞同来自:

使用isset!empty检查数组中是否存在键。它还会检查该密钥是否有效。

  if(isset($xx[$code])){
      echo $xx[$code][0];  
  }
要么
  if(!empty($xx[$code])){
      echo $xx[$code][0];  
  }

beos

赞同来自:

if($code==$xx['$code']){
  echo $xx[$code][0];  //if i want get the value 'aa'
}
如果您使用'$code',则不会检查$code的内容,因为''将所有内容解释为字符串,并且不会在其中查找变量。 您也无法播放'code',因为code只是您使用的变量的名称。

quo_et

赞同来自:

你不应该在这里使用单引号, 填写显示变量时,可以使用不带引号或将其置于双“”之间尝试$xx[$code]$xx["$code"]