PHP:通过数值而不是数组索引从数组中回显项目

时间:2015-06-15 18:37:07

标签: php arrays key echo

我有一个数组,为每个项目存储了两个值,第一个名为"ID",第二个名为"en"。 ID值是唯一的整数,en值是文本。

现在我想通过其ID来回显数组中指定的特定项。

我尝试了下面的内容,但这是通过数组中的索引,所以它给了我一个不同于我需要的项目。

有人可以告诉我如何回复,例如ID = 10的项目而不是数组索引= 10 的项目(这里它当前给我的是Value11而不是Value1)?

我的PHP:

<?php echo $arr[10]["en"]; ?>

数组:

Array ( 
        [0] => Array ([ID] => 10 [en] => Value1 ),
        [1] => Array ([ID] => 11 [en] => Value2 ),
        [2] => Array ([ID] => 12 [en] => Value3 ),
        // ...
        [10] => Array ([ID] => 20 [en] => Value11 ),
        // ...
      )

非常感谢, 麦克

2 个答案:

答案 0 :(得分:2)

function FindByID($arr, $id) {
  foreach($arr as $item) {
   if ($item['ID'] === $id) return $item['en'];
  } 
  return null;
}

echo FindByID($arr, 11);

答案 1 :(得分:2)

我认为你希望当你传递任何值时,它会检查你的多维数组的id索引处的值存在的位置并给它key和它{s} en索引值。

<?php

$array = Array ( 
        '0' => Array ('ID' => 10, 'en' => 'Value1' ),
        '1' => Array ('ID' => 11, 'en' => 'Value2' ),
        '2' => Array ('ID' => 12, 'en' => 'Value3' )
        );
function findKeyandValue($array,$value){

   foreach($array as $key=>$val){
    if($val['ID']== $value){
        echo 'key of the value pass='.$key.'and its en value is'.$val['en'].'<br>';
    }
}

}

findKeyandValue($array,10);
?>

输出: - https://eval.in/382010