如何使用for循环交换数组键和值?

时间:2015-10-17 18:00:26

标签: php arrays for-loop

我有一个类似

的数组
$a = array('1'=>'one','2'=>'two','3'=>'three');

我想仅使用for循环互相交换键和值,我希望输出像

$a = array('one'=>1,'two'=>2,'three'=>3); 

2 个答案:

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

    }

?>