Swap array values with php

后端 未结 11 1119
感动是毒
感动是毒 2020-12-10 23:39

I have an array:

array(
    0 => \'contact\',
    1 => \'home\',
    2 => \'projects\'
);

and I need to swap the \'contact\' with

11条回答
  •  春和景丽
    2020-12-11 00:36

    I wrote simple function array_swap: swap two elements between positions swap_a & swap_b.

    function array_swap(&$array,$swap_a,$swap_b){
       list($array[$swap_a],$array[$swap_b]) = array($array[$swap_b],$array[$swap_a]);
    }
    

    For OP question (for example):

    $items = array(
      0 => 'contact',
      1 => 'home',
      2 => 'projects'
    );
    
    array_swap($items,0,1);
    var_dump($items);
    // OUTPUT
    
    array(3) {
       [0]=> string(4) "home"
       [1]=> string(7) "contact"
       [2]=> string(8) "projects"
     }
    

    Update Since PHP 7.1 it's possible to do it like:

    $items = [
      0 => 'contact',
      1 => 'home',
      2 => 'projects'
    ];
    
    [$items[0], $items[1]] = [$items[1], $items[0]];
    
    var_dump($items);
    // OUTPUT
    
    array(3) {
       [0]=> string(4) "home"
       [1]=> string(7) "contact"
       [2]=> string(8) "projects"
     }
    

    It's possible through Symmetric array destructuring.

提交回复
热议问题