의 순서 보존 내가PHP : array_values
키의 모든 숫자입니다(
1 => 'a',
2 => 'b',
0 => 'c'
)
같이 구성되어 연관 배열을 가지고있는 경우 array_values
항상 값이 새로운 배열에 시간순으로 발생하는 것을 보장합니다, 기반 이전 키 값 (예 : ['c', 'a', 'b']
?
그렇지 않은 경우 어떻게해야합니까?
의 순서 보존 내가PHP : array_values
키의 모든 숫자입니다(
1 => 'a',
2 => 'b',
0 => 'c'
)
같이 구성되어 연관 배열을 가지고있는 경우 array_values
항상 값이 새로운 배열에 시간순으로 발생하는 것을 보장합니다, 기반 이전 키 값 (예 : ['c', 'a', 'b']
?
그렇지 않은 경우 어떻게해야합니까?
아니요, array_values()
은 어떤 식 으로든 값의 순서를 바꾸지 않습니다. 열쇠는 신경 쓰지 않습니다.
그것의 효과적인 구현은 기본적으로 이것이다 : 당신이 키를 사용하여 배열을 정렬하고자하는 경우, ksort()
를 사용
function array_values_impl(array $array)
{
$newArray = [];
foreach ($array as $item) {
$newArray[] = $item;
}
return $newArray;
}
.
먼저 키를 사용하여 배열을 정렬하고 array_values 함수로 값을 가져 와서 수행 할 수 있습니다.
$array = array(
1 => 'a',
2 => 'b',
0 => 'c'
);
ksort($array);
print_r(array_values($array));
예를
를 들어는 출력 : 인덱스 배열에
Array
(
[0] => c
[1] => a
[2] => b
)
숫자 키 포인트는, 아니 항상 – RomanPerekhrest
@RomanPerekhrest을 연관되지. 이 경우 키는 순차적이지만 1, 3, 5 등의 키가 아닌 경우에는 어떻게됩니까? –