it-swarm-ja.tech

PHPで配列の先頭にアイテムを挿入する方法は?

私はそれを最後に挿入する方法を知っています:

$arr[] = $item;

しかし、最初に挿入する方法は?

135
web

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
)
227
Trav L

配列キーを変更したくない連想配列または番号付き配列の場合:

$firstItem = array('foo' => 'bar');

$arr = $firstItem + $arr;

array_mergeは、常に配列のインデックスを再作成するため機能しません。

88
tihe

関数を使用 array_unshift

6
MaxiWheat

array_unshift()を使用して、配列の最初の要素を挿入します。

ユーザーarray_shift()は、配列の最初の要素を削除します。

3
Vinit Kadkol

これは役立ちます

http://www.w3schools.com/php/func_array_unshift.asp

array_unshift();
3
DarthVader

または、一時的な配列を使用して、サイクル中に変更したい場合は、実際の配列を削除できます。

$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をきれいにする必要があります。

2
Arnas Pečelis

文字列/カスタムインデックスキーを使用して、連想配列の先頭にアイテムを挿入します

<?php

$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];

$array = array_reverse($array);

$array['newKey'] = 'newValue';

$array = array_reverse($array);

結果

[
  'newKey' => 'newValue',
  'keyOne' => 'valueOne',
  'keyTwo' => 'valueTwo'
]
2
Manish Dhruw

カスタムインデックスの場合:

$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"]
    )
0