我有一个类似
的数组$a = array('1'=>'one','2'=>'two','3'=>'three');
我想仅使用for循环互相交换键和值,我希望输出像
$a = array('one'=>1,'two'=>2,'three'=>3);
答案 0 :(得分:5)
使用array_flip
:
$a = array('one'=>1,'two'=>2,'three'=>3);
$a_flipped = array_flip($a);
如果你坚持使用循环,那么创建一个新的空数组,遍历给定的数组并使用值作为键填充新数组,即:
$a = array('one'=>1,'two'=>2,'three'=>3);
$a_flipped = array();
foreach ($a as $key => $value) {
$a_flipped[$value] = $key;
}
答案 1 :(得分:1)
使用foreach循环:
<?php
$a = array('1'=>'one','2'=>'two','3'=>'three');
$tmp = array();
foreach($a as $key=>$value){
$tmp[$value] = $key;
}
?>