Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:数组中作为键的值之一_Php_Arrays_Key_Key Value - Fatal编程技术网

PHP:数组中作为键的值之一

PHP:数组中作为键的值之一,php,arrays,key,key-value,Php,Arrays,Key,Key Value,我有这样一个数组: $arrayIn = [ [ 0 => "3", 1 => "12345" ], [ 0 => "2", 1 => "123" ] ]; $arrayOut = [ 12345 => "3", 123 => "2" ]; 想要得到这样的数组: $arrayIn = [ [ 0 => "3", 1 => "12

我有这样一个数组:

$arrayIn = [
     [ 0 => "3",
       1 => "12345"
     ],
     [ 0 => "2",
       1 => "123"
     ]
];
$arrayOut = [
     12345 => "3",
     123 => "2"   
];
想要得到这样的数组:

$arrayIn = [
     [ 0 => "3",
       1 => "12345"
     ],
     [ 0 => "2",
       1 => "123"
     ]
];
$arrayOut = [
     12345 => "3",
     123 => "2"   
];
我尝试了
array\u值
array\u组合
,但没有得到这个结果。我怎样才能做到这一点呢?

你可以用这个

第二个参数指定要选择的列,第三个参数指定要用作键的列


请记住,如果第1列中有重复的值,它们将在结果中被覆盖,因为数组键在定义上必须是唯一的,但这一警告适用于此问题的任何解决方案。

您只需在原始数组中循环,然后构建一个新数组,其中第二个值作为键,第一个值作为值:

$arrayOut = [];
foreach ($arrayIn as $arr) {
    $arrayOut[$arr[1]] = $arr[0];
}
var_dump($arrayOut);

结果

数组(大小=2)
12345=>字符串“3”(长度=1)
123=>字符串“2”(长度=1)


这是如此简洁+1谢谢,@ishegg。我要爱你的专栏,这就是我需要的。太多了!