반응형
PHP에서 배열의 선두에 항목을 삽입하려면 어떻게 해야 합니까?
다음을 통해 끝까지 삽입하는 방법을 알고 있습니다.
$arr[] = $item;
근데 어떻게 처음에 넣어요?
array_unshift($array, $item)를 사용합니다.
$arr = array('item2', 'item3', 'item4');
array_unshift($arr , 'item1');
print_r($arr);
너에게 줄 것이다
Array
(
[0] => item1
[1] => item2
[2] => item3
[3] => item4
)
배열 키를 변경하지 않는 관련 배열 또는 번호 배열의 경우:
$firstItem = array('foo' => 'bar');
$arr = $firstItem + $arr;
array_merge
는 항상 어레이를 재인덱스하기 때문에 동작하지 않습니다.
문자열/커스텀 키를 사용하여 연결 배열의 선두에 항목 삽입
<?php
$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];
$array = array_reverse($array);
$array['newKey'] = 'newValue';
$array = array_reverse($array);
결과
[
'newKey' => 'newValue',
'keyOne' => 'valueOne',
'keyTwo' => 'valueTwo'
]
연관 배열의 경우 병합만 사용할 수 있습니다.
$arr = array('item2', 'item3', 'item4');
$arr = array_merge(array('item1'), $arr)
두 가지 솔루션이 있습니다.
- 중요한 키를 가진 어레이가 있는 경우
$new = ['RLG' => array(1,2,3)];
$array = ['s' => array(2,3), 'l' => [], 'o' => [], 'e' => []];
$arrayWithNewAddedItem = array_merge($new, $array);
- 키가 없는 배열이 있는 경우.
array_unshift(array, value1);
array_unshift()를 사용하여 배열의 첫 번째 요소를 삽입합니다.
배열의 첫 번째 요소를 삭제하려면 array_shift()를 사용합니다.
또는 임시 배열을 사용한 후 주기 중에 변경하려면 실제 배열을 삭제할 수 있습니다.
$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];
unset($array[1]);
array_unshift($array , $temp_array);
출력은 다음과 같습니다.
array(0 => 'b', 1 => 'a', 2 => 'c')
사이클 중에 할 때는 청소해야 합니다.$temp_array
항목을 배열에 추가한 후.
PHP7.4에서는 JavaScript와 매우 유사한 확산 대향기를 사용할 수 있습니다.
$arr = [$item, ...$arr];
https://wiki.php.net/rfc/spread_operator_for_array
몇 가지 예를 더 들겠습니다.
// Add an item before
$arr = [$item, ...$arr];
// Add an item after
$arr = [$item, ...$arr];
// Add a few more
$arr = [$item1, $item2, ...$arr, $item3];
// Multipel arrays and and items
$arr = [$item1, ...$arr1, $item2, ...$arr2, $item3];
- 주의: 이것은 int 키에서만 가능하며 연관 배열에서는 가능하지 않습니다.
- 주의 2: 키는 보관되어 있지 않습니다.
BREAKING 예:
$car = ['brand' => 'Audi', 'model' => 'A8'];
$engine = ['cylinder' => 6, 'displacement' => '3000cc'];
$merged = [...$car, ...$engine];
var_dump($merged);
다음과 같은 결과가 됩니다.
[오류] 문자열 키로 어레이를 언팩할 수 없습니다.
언급URL : https://stackoverflow.com/questions/1739706/how-to-insert-an-item-at-the-beginning-of-an-array-in-php
반응형
'programing' 카테고리의 다른 글
TextView가 1줄보다 클 경우 생략기호를 표시하려면 어떻게 해야 합니까? (0) | 2022.12.01 |
---|---|
Vuetify 조건부 다크 테마 (0) | 2022.12.01 |
배열에서 마지막 항목 제거 (0) | 2022.12.01 |
JAX-WS 클라이언트: 로컬 WSDL에 액세스하기 위한 올바른 경로는 무엇입니까? (0) | 2022.12.01 |
MariaDB를 사용하는 Ruby convert_tz가 0을 반환하고 있습니다. (0) | 2022.12.01 |