php でキーに基づいて配列要素を削除するメソッド: まず、array_keys() 関数と array_search() 関数を使用して、キーに基づいて削除する要素の開始位置 x を見つけます。次に、「array_splice()」を使用します。 array, x, 1);" を使用して、指定した配列要素を削除します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php 配列の要素は次の場所に存在します。キーの形式と値のペア メソッド ('key'=>'value') では、キーに基づいて配列内の指定された要素を削除する必要がある場合があります。
<?php function array_remove($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr, $index, 1); } return $arr; } $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); $result = array_remove($data, 'age'); var_dump($result); ?>
出力:
array (size=2) 'name' => string 'apple' (length=5) 'address' => string 'ChinaGuangZhou' (length=14)
関数の使用手順:
1.array_search()
定義と使用法
array_search() 関数は in_array() と同じで、配列内のキー値を検索します。値が見つかった場合は、一致する要素のキーが返されます。見つからない場合は false を返します。
PHP 4.2.0 より前では、関数は失敗時に false ではなく null を返しました。
3 番目のパラメーター strict が true に指定されている場合、データ型と値が一貫している場合にのみ、対応する要素のキー名が返されます。
構文
array_search(value,array,strict)
パラメータの説明
value 必須。配列内で検索する値を指定します。
配列は必須です。検索する配列。
strict オプション。可能な値:
true
false デフォルト
値が true に設定されている場合、指定された値の型も配列内でチェックされます
[推奨される学習:< PHP ビデオ チュートリアル >>]
例:
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a); ?>
2.array_splice()
定義と使用法
array_splice () 関数は array_slice() 関数に似ており、配列内の一連の要素を選択しますが、要素を返す代わりに要素を削除し、他の値に置き換えます。
4 番目のパラメータが指定された場合、以前に選択された要素は 4 番目のパラメータで指定された配列に置き換えられます。
最後に生成された配列が返されます。
構文
array_splice(array,offset,length,array)
パラメータの説明
array 必須。配列を指定します。
オフセットは必須です。数値。 offset が正の場合、入力配列内のこの値で指定されたオフセットから削除が開始されます。 offset が負の場合、入力配列の末尾からこの値で指定されたオフセットから削除が開始されます。
length オプション。数値。このパラメータを省略すると、配列のオフセットから末尾までのすべての部分が削除されます。 length が指定されており、それが正の場合、この数の要素が削除されます。 length が指定され、負の場合、配列の末尾からカウントダウンした offset から length までのすべての要素が削除されます。
array 削除された要素は、この配列内の要素に置き換えられます。値が削除されない場合、この配列の要素は指定された位置に挿入されます。
ヒントと注意事項
ヒント: 関数が要素を削除しない場合 (長さ = 0)、置換配列は開始パラメーターの位置から挿入されます。
注: 置換配列内のキーは保持されません。
例
<?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,0,2,$a2); print_r($a1); //输出: Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird ) ?> //与例子 1 相同,但是输出返回的数组: <?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); print_r(array_splice($a1,0,2,$a2)); ?> //输出: Array ( [0] => Dog [1] => Cat ) //length 参数设置为 0: <?php $a1=array(0=>"Dog",1=>"Cat"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,1,0,$a2); print_r($a1); ?> //输出: Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
プログラミング関連の知識については、プログラミング ビデオをご覧ください。 !
以上がPHPでキーに基づいて配列要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。