ホームページ >バックエンド開発 >PHPチュートリアル >array_PHP チュートリアルの特定の要素を削除する PHP コード

array_PHP チュートリアルの特定の要素を削除する PHP コード

WBOY
WBOYオリジナル
2016-07-21 15:18:29742ブラウズ

たとえば、次のプログラム:

コードをコピーします コードは次のとおりです:


$arr = array('apple','banana','cat','dog ');

unset ($arr[2]);

?> 1] => バナナ [3] => 犬 )

しかし、このメソッドの最大の欠点は、インデックスは再構築されません。つまり、配列の 3 番目の要素が失われます。
情報を確認したところ、PHP がこの機能を提供していることがわかりましたが、非常に間接的です。この関数はarray_splice()です。
使いやすいように、誰でも使用できるように関数にカプセル化しました:
コードをコピーします コードは次のとおりです:

function array_remove(&$arr, $offset )
{
array_splice ($arr, $offset, 1);
} $arr = array('apple','banana','cat','dog'); array_remove($arr, 2); ;
print_r($ arr);
?>


テスト後、位置 2 の要素が実際に削除され、インデックスが再確立されたことがわかります。
プログラムの実行結果:



コードをコピーします

コードは次のとおりです:


Array ( [0] => apple [1] => Banana [2] => Dog )


PHP の array_splice() 関数
array_splice() 関数は、array_slice() 関数に似ており、配列内の一連の要素を選択しますが、要素を返すのではなく、削除して他の値に置き換えます。 4 番目の引数が指定された場合、以前に選択された要素は 4 番目の引数で指定された配列に置き換えられます。
最後に生成された配列が返されます。 構文: array_splice(配列,オフセット,長さ,配列) 配列: 必須。配列を指定します。 オフセット: 必須。数値。 offset が正の場合、入力配列内のこの値で指定されたオフセットから削除が開始されます。 offset が負の場合、入力配列の末尾からこの値で指定されたオフセットから削除が開始されます。 長さ: オプション。数値。このパラメータを省略すると、配列のオフセットから末尾までのすべての部分が削除されます。 length が指定されており、それが正の場合、この数の要素が削除されます。 length が指定されて負の場合、配列の末尾からカウントダウンした offset から length までのすべての要素が削除されます。
配列: 削除された要素は、この配列内の要素に置き換えられます。値が削除されない場合、この配列の要素は指定された位置に挿入されます。
関数が要素を削除しない場合(長さ=0)、置換配列は開始パラメータの位置から挿入されます。
例 1:


コードをコピーします

コードは次のとおりです:


$a1=array(0=>"Dog",1=>"Cat",2= >"馬",3=>"鳥");
$a2=array(0=>"トラ",1=>"ライオン");
array_splice($a1,0,2,$a2) );
print_r ($a1);
?>//出力 : 配列 ( [0] => トラ [1] => ライオン [2] => 馬 [3] => 鳥 ) 例 2 :
コードをコピー

コードは次のとおりです:


$a1=array(0=>"Dog",1=>"Cat",2= >"馬",3 =>"鳥");
$a2=array(0=>"トラ",1=>"ライオン");
print_r(array_splice($a1,0,2, $a2));
>
//output: Array ( [0] => Dog [1] => Cat )
コードをコピーします :
/ / 長さパラメータは 0 に設定されます
$a1=array(0=>"Dog",1=>"Cat"); ;"タイガー",1=>"ライオン" );
array_splice($a1,1,0,$a2);
//output : Array ( [0] = > 犬 [1] => トラ [3] => 猫

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/325515.html技術記事たとえば、次のプログラム: 次のようにコードをコピーします。 ?php $arr = array('apple','banana','cat','dog'); unset($arr[2]); ); ? プログラムの実行結果: 次のようにコードをコピーします...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。