私は連想配列を持っています:
array(
'0' => array(
'id' => 1,
'name' => 'one'
),
'1' => array(
'id' => 4,
'name' => 'two'
),
'2' => array(
'id' => 8,
'name' => 'three'
)
);
をitem
配列から削除したい場所id = 4
。
必要な出力:
array(
'0' => array(
'id' => 1,
'name' => 'one'
),
'1' => array(
'id' => 8,
'name' => 'three'
)
);
質問:その要素を見つけて配列から削除するには、どの関数を使用する必要がありますか?
配列をロールスルーしてunset
から、キーに基づいてアイテムをロールスルーするだけです。
$test_array = array(
'0' => array(
'id' => 1,
'name' => 'one'
),
'1' => array(
'id' => 4,
'name' => 'two'
),
'2' => array(
'id' => 8,
'name' => 'three'
)
);
foreach ($test_array as $test_key => $test_value) {
if ($test_value['id'] == 4) {
unset($test_array[$test_key]);
}
}
echo '<pre>';
print_r($test_array);
echo '</pre>';
そして、出力は次のようになります。
Array
(
[0] => Array
(
[id] => 1
[name] => one
)
[2] => Array
(
[id] => 8
[name] => three
)
)
編集新しい配列にギャップがないことを確認するための望ましい出力を示す質問への編集に気づきました。その場合は、配列のキーを再設定して再び順番に並べるarray_values
にはforeach
、私の例の後に使用します。
foreach ($test_array as $test_key => $test_value) {
if ($test_value['id'] == 4) {
unset($test_array[$test_key]);
}
}
$test_array = array_values($test_array);
そして、新しい出力は次のようになります。
Array
(
[0] => Array
(
[id] => 1
[name] => one
)
[1] => Array
(
[id] => 8
[name] => three
)
)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加