私はPHPの配列配列の最初の要素をキー値を変更せずに削除するにはどうすればよいですか?
<?php
$array=array("a"=>"123","b"=>"234","c"=>"345");
array_shift($array);
//array("0"=>"234","1"=>"345");
?>
私はこの機能を使用する場合は、キー値が変更されますがあります。私は私のキーバリューを変わらないままにしたい。配列のキー値に影響を与えずに最初の要素を削除するにはどうすればよいですか? 私の答えは
array("b"=>"234","c"=>"345");
ノートのようにする必要があります:foreachのを使用しないでください();私はこれを既存の配列関数phpで
上記の配列のために働いています。しかし、次のように答えを示している以下の配列
<?php
$array = Array
(
'39' => Array
(
'id' => '39',
'field_id' => '620'
),
'40' => Array
(
'id' => '40',
'field_id' => '620',
'default_value' => 'rrr',
));
array_splice($array, 0, 1);
print_r($array);
?>
を考慮してください。
Array ([0] => Array ([id] => 40 [field_id] => 620 [default_value] => rrr))
は、私はその理由を知っているかもしれません? array_splice()は1次元配列に対してのみ動作しますか?今すぐキー値がリセットされます...
キーに関係なく最初の要素を削除するか、または要素を削除しますかキー= "a"のNT? – Barmar
@ガネーシュ:あなたはあなたの質問に間違った例を挙げます。この例を使って説明するものは間違っています(あなたはまだ何かを意味していますが)。 – hakre
[配列から要素を削除する]の複製が可能です(http://stackoverflow.com/questions/369602/delete-an-element-from-an-array) – hakre