PHP:将两个数组设置为键和值

时间:2019-07-15 12:47:07

标签: php arrays

是否可以根据另一个数组的值从另一个数组获取数据?

如果我从数组中输入值,它将从其他数组中返回一个值。

示例

$arr1 = ['A','B','C'];
$arr2 = [1,2,3,];

输入:2
结果:B

4 个答案:

答案 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;
?>