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

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

藏色散人
リリース: 2023-03-09 16:50:01
オリジナル
1696 人が閲覧しました

php で 1 次元配列の値を削除するメソッド: 1. カスタム for ループを使用して 1 次元配列の値を削除します; 2. 「array_search」と「array_splice」を使用して削除を実行します。

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

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

php は、one 内の value 要素を削除します-次元配列 操作方法

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

結果

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

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