У меня массив вроде:
array( 0 => 'a', 1 => 'b', 2 => 'c' );
Мне нужно преобразовать его в:
array( 'a', 'b', 'c' );
Каков самый быстрый способ обмена ключами со значениями?
php имеют функцию array_flip , но в вашем случае
вам не нужно это одно и то же
array( 'a', 'b', 'c' );
этот массив имеет такие ключи, как 0,1,2
Используйте array_flip()
. Это будет сделано для замены ключей со значениями. Тем не менее, ваш массив в порядке, как есть. То есть вам не нужно их менять, потому что тогда ваш массив станет следующим:
array( 'a' => 0, 'b' => 1, 'c' => 2 );
не
array( 'a', 'b', 'c' );
array( 0 => 'a', 1 => 'b', 2 => 'c' );
а также
array( 'a', 'b', 'c' );
являются одним и тем же массивом, вторая форма имеет 0,1,2 как неявные ключи. Если в вашем массиве нет числовых клавиш, вы можете использовать функцию array_values для получения массива, который имеет только значения (с числовыми неявными ключами).
В противном случае, если вам нужно поменять клавиши со значениями array_flip, это решение, но из вашего примера неясно, что вы пытаетесь сделать.
См .: array_flip
$flipped_arr = array_flip($arr);
сделают это для вас.
(источник: http://php.net/manual/en/function.array-flip.php )
Для этого вам понадобится использовать array_flip()
.