php数组如何键值对调

比如:
$arr = [
1=>'老王',
2=>'老张',
3=>'老李'
];

我需要这样的数据。
$arr = [
'老王'=>1,
'老张'=>2,
'老李'=>3
];

第1个回答  2018-09-28

用 array_flip.

$arr = [
1=>'老王',
2=>'老张',
3=>'老李'
];

$arr = array_flip($arr);

第2个回答  2018-09-28

用函数array_flip()

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1);
print_r($result);
?>

输出结果:Array ( [red] => a [green] => b [blue] => c [yellow] => d )

第3个回答  2018-09-28
$data = [];
foreach($arr as $key=>$val){
$data[$val] = $key;

}
var_dump($data);
请慎重哦本回答被提问者采纳
第4个回答  2018-09-28
$data = [];
foreach($arr as $key=>$val){
$data[$val] = $key;

}
var_dump($data);
老子是孟子冰,你敢说不对拉出去打死!
第5个回答  2018-09-28
通过键名可以改变键值,或者循环统一处理键值。
比如:
<?php
$array = array(0=>'a',1=>'b',2=>'c');
//通过键名1来改变键值位bb

$array[1] = 'bb';

foreach($array as $key=>$value){

//把数组的每个元素的键值有原来的 X 改为 XX

$array[$key] = $value.$value;

}

?>
相似回答