Как заменить порядок элементов в массиве php? - PullRequest
2 голосов
/ 30 января 2012

Я спрашиваю об этом случае (замените элемент по позиции: самый высокий на самый низкий и т. Д.):

мои входные данные:

// case1:
array('orange','blue','red');

// case2:
array('orange','blue','red','white');

должны получить выходные данные:

// case1:
array('red','blue','orange');

// case2:
array('white','red','blue','orange');

это может быть сделано - но я ищу более короткий путь:

function myReplaceArr(array $arr){     
 $len=count($arr);  
 $loopLen=(int)($len/2);    
 for($i=0;$i<$loopLen;$i++){
   $temp=$arr[$i];
   $arr[$i]=$arr[$len-$i-1];
   $arr[$len-$i-1]=$temp;
 }
 return $arr;
}
var_export(myReplaceArr(array('orange','blue','red')));
var_export(myReplaceArr(array('orange','blue','red','white')));

Ответы [ 4 ]

4 голосов
/ 30 января 2012
2 голосов
/ 30 января 2012

То, что называется array_reverse ();

$array_1 = array('orange','blue','red');
$array_2 = array('orange','blue','red','white');

$array_1_new = array_reverse($array_1);
$array_2_new = array_reverse($array_2);
2 голосов
/ 30 января 2012

А как насчет array_reverse () ?

1 голос
/ 30 января 2012

Вы можете использовать array_reverse ()

// case1:
    $array1 = array('orange','blue','red');
    $new_array1 = array_reverse($array1 );
    print_r($new_array1);
    Output: array('red','blue','orange');

// case2:
    $array2 = array('orange','blue','red','white');
    $new_array2 = array_reverse($array2 );
    print_r($new_array2);
    Output: array('white','red','blue','orange');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...