我有一个数组,为每个项目存储了两个值,第一个名为"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 ),
// ...
)
非常感谢, 麦克
答案 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