ホームページ > バックエンド開発 > PHPチュートリアル > PHPで配列の要素を削除する方法の使い方まとめ

PHPで配列の要素を削除する方法の使い方まとめ

伊谢尔伦
リリース: 2023-03-11 09:42:01
オリジナル
1598 人が閲覧しました

配列から$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;,
);
ログイン後にコピー

コード

<?php
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
)
ログイン後にコピー

インデックスをリセットするには文を追加

<?php
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 () も使用できます 同じ効果が得られます

<?php
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 で実装されており、自分で記述するより効率的です。

  1. array_searcharray_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
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. ベストプラクティス

$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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート