多次元配列で「test4」という値を検索しようとしています。配列は次のようになります。
Array
(
[0] => Array
(
[VlanId] => Array
(
[0] => 2
)
[Name] => Array
(
[0] => test2
)
)
[1] => Array
(
[VlanId] => Array
(
[0] => 3
)
[Name] => Array
(
[0] => test3
)
)
[2] => Array
(
[VlanId] => Array
(
[0] => 4
)
[Name] => Array
(
[0] => test4
)
)
次の投稿を見つけました: 多次元配列phpを検索する
と
そして、私はrescursiveiteratorメソッドを使用して値test4を見つけています。私のコードは次のようになります:
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($vlans)) as $key=>$value) {
if ($value == 'test4') {
print 'fount it. the key is: '. $key .' and value is: '. $value;
break;
}
}
これにより、次の出力が得られます。
それを噴出させます。キーは0、値はtest4です。
[0]は最外部配列の最初の項目の設定を解除するだけなので、これを使用してtest4レコードの設定を解除することはできません...この場合、test2という名前のVlanID2が削除されます。
レコードtest4を見つけたら、削除する方法を教えていただけますか?私は次の投稿を読んでみました:
しかし、この問題を解決する方法を完全に理解することはできませんでした。
ありがとう。
編集1:
foreach ($vlans as $a=>$value) {
if ($value['Name'][0] =='test4' ){
echo 'found it at: '. $value;
unset($vlans[$a]);
break;
}
}