php で 1 次元配列の値要素を削除するメソッド: 1. for ループ ステートメントと関数 [array_merge()] を使用して値を削除します。コードは [$arr = array_merge($) arr)]; 2. 関数 [array_splice] を使用して、シーケンス値を自動的にリセットします。
一次元配列の値要素を削除するための php メソッド:
1. 書き込みます。ループ用に自分で実行します
この時点では、配列<pre class="brush:php;toolbar:false"><?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;,
);</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 サイトの他の関連記事を参照してください。