次のエディターは、キーに基づいて配列内の指定された要素を削除する実装メソッドを提供します。編集者はこれがとても良いと思ったので、参考として共有します。エディターに従って見てみましょう。PHP 配列内の要素は、キーと値のペア ('key'=>'value') の形式で存在します。場合によっては、キーに基づいて配列内で指定された要素を削除する必要があります。 。
function bykey_reitem($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, 'name'); var_dump($result);
1. array_search()
定義と使用法array_search() 関数は、配列内のキー値を検索します。 。値が見つかった場合は、一致する要素のキーが返されます。見つからない場合は false を返します。
PHP 4.2.0 より前では、関数は失敗時に false ではなく null を返しました。
3 番目のパラメーター strict が true に指定されている場合、データ型と値が一貫している場合にのみ、対応する要素のキー名が返されます。
array_search(value,array,strict)
パラメータの説明value 必須。配列内で検索する値を指定します。
配列は必須です。検索する配列。
厳密 オプション。可能な値:
true
false - デフォルト
値が true に設定されている場合、指定された値の型も配列内でチェックされます
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
?>
2、array_splice()
定義と使用法array_splice() 関数は、array_slice() 関数に似ており、配列内の一連の要素を選択しますが、要素を返すのではなく、削除して他の値に置き換えます。
4 番目のパラメーターが指定された場合、以前に選択された要素は 4 番目のパラメーターで指定された配列に置き換えられます。最終的に生成された配列が返されます。
構文パラメータの説明
array
は必須です。配列を指定します。
オフセットは必須です。数値。 offset が正の場合、入力配列内のこの値で指定されたオフセットから削除が開始されます。 offset が負の場合、入力配列の末尾からこの値で指定されたオフセットから削除が開始されます。
長さオプション。数値。このパラメータを省略すると、配列のオフセットから末尾までのすべての部分が削除されます。 length が指定されており、それが正の場合、この数の要素が削除されます。 length が指定され、負の場合、配列の末尾からカウントダウンした offset から length までのすべての要素が削除されます。
配列削除された要素は、この配列内の要素に置き換えられます。値が削除されない場合、この配列の要素は指定された位置に挿入されます。
ヒントとメモヒント: 関数が要素を削除しない場合 (長さ = 0)、置換配列は開始パラメーターの位置から挿入されます。 (例 3 を参照)
注: 置換配列内のキーは保持されません。
例<?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 )