是否可以根据另一个数组的值从另一个数组获取数据?
如果我从数组中输入值,它将从其他数组中返回一个值。
示例:
$arr1 = ['A','B','C'];
$arr2 = [1,2,3,];
输入:2
结果:B
答案 0 :(得分:4)
它们需要分开吗?
您可以使用array_combine()
为该值分配一个键,然后输入仅为$array[$input]
-例如
$arr1 = ['A','B','C'];
$arr2 = [1,2,3,];
$arr = array_combine($arr2, $arr1);
echo $arr[$_POST['input']]; # will display 2
答案 1 :(得分:3)
由于没有为您的数组提供任何特定键,因此将从PHP的数字索引开始,从零开始。
然后可以使用array_search()
获取$arr2
数组的键,并使用该键在$arr1
中查找值。
$key = array_search($input, $arr2);
$output = $arr1[$key];
如果任何一个数组都定义了索引,则可以使用array_values()
来获取值并再次从PHP获取数字索引。
答案 2 :(得分:0)
此函数合并2个或更多数组
<?php
$array1 = array('A', 'B', 'C');
$array2 = array('1', '2', '3');
$result = array_merge($array1, $array2);
print_r($result);
?>
答案 3 :(得分:0)
使用上面的$ result数组(2种可能性中的1种)
<?php echo $result[1]; ?>
或使用
<?php
$q = '2'; $key = array_search($q, $result);
if(!$key)
echo "This search returned no key and value pair";
else
echo "This search for value: " . $q . " is present in key: " . $key;
?>