배열을 다시 색인화하는 방법은 무엇입니까?
내 배열은 다음과 같습니다.
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
어떻게 키를 재설정 할 수 0, 1, 2, 3, 4
있습니까?
array_values 사용 :
$reindexed_array = array_values($old_array);
array_splice($old_array, 0, 0);
배열을 정렬하지 않고 두 번째 배열을 만들지 않습니다.
사용하여 sort($array);
내가 권하고 싶습니다 sort
이상 array_values
이 두 번째 배열을 생성하지 않으므로. 다음 코드를 사용하면 $ reindexed_array 및 $ old_array라는 두 개의 배열이 공간을 차지합니다. 불필요한.
$reindexed_array = array_values($old_array);
array_splice($jam_array, 0, count($jam_array));
중간 인덱스가 누락 된 배열을 정렬하려면 count를 사용 하는 것이 더 안전합니다. 따라서 0
첫 번째 인덱스 및 count($jam_array)
/ 또는 sizeof($jam_array)
배열의 소수점 위치, 즉 마지막 인덱스를 반환합니다.
PHP7.4부터는 splat 연산자를 사용하여 값을 배열로 압축 해제하여 함수 호출없이 재 인덱싱 할 수 있습니다. 이것을 "재 포장"이라고 생각하십시오.
코드 : ( 데모 )
$array = array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
$array = [...$array];
var_export($array);
산출:
array (
0 => 'val',
1 => 'val',
2 => 'val',
3 => 'val',
4 => 'val',
)
참고 :이 기술은 연관 키에서 작동 하지 않습니다 (스 플래트 연산자가 이러한 키를 질식시킵니다). 숫자가 아닌 데모
파손은 문자열 키의 압축을 풀 수없는 것으로보고 되지만 키가 모두 숫자 여야한다고 말하는 것이 더 정확합니다. Integer as string demo 및 Float demo
참조 URL : https://stackoverflow.com/questions/11224821/how-to-reindex-an-array
'IT story' 카테고리의 다른 글
Javascript로 지리적 위치가 거부되었는지 확인하는 방법이 있습니까? (0) | 2021.01.05 |
---|---|
Android SearchView에서 키보드를 닫는 방법은 무엇입니까? (0) | 2021.01.05 |
build.xml : 479로 Android 빌드 실패 : SDK에 빌드 도구가 설치되어 있지 않습니다. (0) | 2021.01.05 |
ADB가 응답하지 않습니다. (0) | 2021.01.05 |
Xcode 7.0에서 프레임 워크 관련 경고 받기 (0) | 2021.01.05 |