ホームページ  >  記事  >  バックエンド開発  >  1次元配列の特定の値要素を削除するPHPの操作方法

1次元配列の特定の値要素を削除するPHPの操作方法

韦小宝
韦小宝オリジナル
2018-02-02 09:54:503461ブラウズ

以下のエディターは、1 次元配列内の特定の値要素を削除するための PHP 操作方法を共有します。これは、PHP を学習するための優れた参考資料と価値があります。 PHP に興味がある方は、エディターをフォローしてぜひご覧ください

1. 独自の for ループを作成します配列から $tmp 要素の値を削除します

<?php
$tmp = &#39;324&#39;;
$arr = array(
&#39;0&#39; => &#39;321&#39;,
&#39;1&#39; => &#39;322&#39;,
&#39;2&#39; => &#39;323&#39;,
&#39;3&#39; => &#39;324&#39;,
&#39;4&#39; => &#39;325&#39;,
&#39;5&#39; => &#39;326&#39;,
);

コード

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>

この時点で

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)

インデックスをリセットするには、

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>

この時点の結果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

array_merge()でも同じ効果が得られます

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>

の現時点での結果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

2. PHP に付属の関数を優先的に使用します。これらの関数は C で実装されており、自分で記述するよりも効率的であるためです。

array_search

array_splice を使用します。array_splice はシーケンス値を自動的にリセットします。

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);

今回の結果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

ベストプラクティス

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);

Result

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)
ここで、配列要素が複雑なデータ構造であれば比較も実現できます。もちろん、データ自体は依然として 1 次元です。

上記の例では、$tmp が値である場合、$tmp に含まれるすべての要素を $array から削除することも有効です

$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);

上記のいずれかを削除します。 phpの記事 次元配列内の特定の値要素の操作方法はエディターで共有している内容ですので、ご参考になれば幸いです。

関連する推奨事項: 配列の最後の要素を削除する

php 関数 array_pop()

php 関数 addslashes() 関数によって追加されたバックスラッシュを削除する

stripslashes()

php 削除文字列関数chop()の末尾の空白文字

以上が1次元配列の特定の値要素を削除するPHPの操作方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。