ホームページ >バックエンド開発 >PHPの問題 >PHPで1次元配列の値要素を削除する方法

PHPで1次元配列の値要素を削除する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-06 13:27:443081ブラウズ

php で 1 次元配列の値要素を削除するメソッド: 1. for ループ ステートメントと関数 [array_merge()] を使用して値を削除します。コードは [$arr = array_merge($) arr)]; 2. 関数 [array_splice] を使用して、シーケンス値を自動的にリセットします。

PHPで1次元配列の値要素を削除する方法

一次元配列の値要素を削除するための php メソッド:

1. 書き込みます。ループ用に自分で実行します

この時点では、配列<pre class="brush:php;toolbar:false">&lt;?php $tmp = &amp;#39;324&amp;#39;; $arr = array( &amp;#39;0&amp;#39; =&gt; &amp;#39;321&amp;#39;, &amp;#39;1&amp;#39; =&gt; &amp;#39;322&amp;#39;, &amp;#39;2&amp;#39; =&gt; &amp;#39;323&amp;#39;, &amp;#39;3&amp;#39; =&gt; &amp;#39;324&amp;#39;, &amp;#39;4&amp;#39; =&gt; &amp;#39;325&amp;#39;, &amp;#39;5&amp;#39; =&gt; &amp;#39;326&amp;#39;, );</pre>code

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

からこの要素の値を

$tmp

削除します

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);

結果

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

ここで、配列要素が複雑なデータ構造の場合、比較することもできます。達成。もちろん、データ自体は依然として 1 次元です。

上記の例では、$tmp は値です。$tmp が配列などの複雑なデータ構造の場合、$tmp に含まれるすべての要素を $array から削除します。上記の方法も有効です。

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

関連する学習に関する推奨事項: php プログラミング (ビデオ)

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

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