Saya tahu cara memasukkannya sampai akhir dengan:
$arr[] = $item;
Tapi bagaimana cara memasukkannya ke awal?
print_r($arr)=>Array ( [0] => a, [1] => b, [-1] => c )
Saya tahu cara memasukkannya sampai akhir dengan:
$arr[] = $item;
Tapi bagaimana cara memasukkannya ke awal?
print_r($arr)=>Array ( [0] => a, [1] => b, [-1] => c )
Jawaban:
Gunakan array_unshift ($ array, $ item);
$arr = array('item2', 'item3', 'item4');
array_unshift($arr , 'item1');
print_r($arr);
akan memberimu
Array
(
[0] => item1
[1] => item2
[2] => item3
[3] => item4
)
array_unshiftmengatakan yang berikutAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
Dalam hal array asosiatif atau array bernomor di mana Anda tidak ingin mengubah kunci array:
$firstItem = array('foo' => 'bar');
$arr = $firstItem + $arr;
array_merge tidak berfungsi karena selalu mengindeks ulang array.
Gunakan fungsi array_unshift
Masukkan item di awal array asosiatif dengan string / kunci indeks kustom
<?php
$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];
$array = array_reverse($array);
$array['newKey'] = 'newValue';
$array = array_reverse($array);
HASIL
[
'newKey' => 'newValue',
'keyOne' => 'valueOne',
'keyTwo' => 'valueTwo'
]
Gunakan array_unshift () untuk menyisipkan elemen pertama dalam array.
User array_shift () untuk menghapus elemen pertama dari array.
Atau Anda dapat menggunakan array sementara dan kemudian menghapus yang asli jika Anda ingin mengubahnya saat siklus:
$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];
unset($array[1]);
array_unshift($array , $temp_array);
hasilnya adalah:
array(0 => 'b', 1 => 'a', 2 => 'c')
dan ketika melakukannya saat siklus, Anda harus membersihkan $temp_arraysetelah menambahkan item ke array.
$arr=array("a"=>"one", "b"=>"two");
$arr=array("c"=>"three", "d"=>"four").$arr;
print_r($arr);
-------------------
output:
----------------
Array
(
[c]=["three"]
[d]=["four"]
[a]=["two"]
[b]=["one"]
)
$arr[-1] = $item;Ditemukan di sini: stackoverflow.com/a/15252657/669677