Как я инвертирую свой массив?

У меня есть массив, который я хочу инвертировать, как я делаю это?

8
задан Lizard 21 July 2010 в 16:17
поделиться

3 ответа

Это зависит от того, что вы имеете в виду: инвертировать или обратить?

Если вы хотите инвертировать ключи со значениями, то посмотрите на array_flip http://www.php.net/manual/en/function.array-flip.php

<?php 

$values = array("Item 1","Item 2","Item 3"); 
print_r($values); 

$values = array_flip($values); 
print_r($values); 
?> 

Выход:

Array
(
    [0] => Item 1
    [1] => Item 2
    [2] => Item 3
)
Array
(
    [Item 1] => 0
    [Item 2] => 1
    [Item 3] => 2
)
?>

Если вы хотите обратить массив, то используйте array_reverse http://php. net/manual/en/function.array-reverse.php

<?php
$values = array("Item 1","Item 2","Item 3"); 
print_r($values); 

$values = array_reverse($values);
print_r($values);

Output:

Array
(
    [0] => Item 1
    [1] => Item 2
    [2] => Item 3
)
Array
(
    [0] => Item 3
    [1] => Item 2
    [2] => Item 1
)
?>

Вы также можете захотеть перевернуть массив, но при этом присвоить значения ключам, в этом случае вам понадобится $values = array_reverse($values, true);

23
ответ дан 5 December 2019 в 05:44
поделиться

Используйте array_reverse :

$array_inverted = array_reverse($array);
5
ответ дан 5 December 2019 в 05:44
поделиться

Другой вариант, который вы, возможно, также хотите рассмотреть, - это просто читать массив снизу вверх, а не сверху вниз, если ситуация позволяет это.

1
ответ дан 5 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: