PHPで配列キーを削除する方法

PHPz
リリース: 2023-04-24 15:02:41
オリジナル
671 人が閲覧しました

PHP では、配列は非常に一般的に使用されるデータ構造です。配列では、文字列または数値をキーとして使用して、複数の値を格納できます。通常、配列操作を実行するときは、配列の並べ替え、重複排除、フィルター処理などの操作を実行する必要があります。場合によっては、配列からキーを削除し(つまり、キーの番号を付け直す)、配列のインデックスを 0 から開始する必要があります。この記事では、PHP で配列キーを削除する方法について説明します。

1. array_values 関数を使用する

PHP には、配列内のすべての値のインデックスを再作成し、新しい配列を返すことができる array_values と呼ばれる関数が用意されています。この関数を使用すると、配列キーを簡単に削除できます。

サンプル コード:

<?php
$arr = array(&#39;a&#39;=>'apple', 'b'=>'banana', 'c'=>'cherry');
$new_arr = array_values($arr);
print_r($new_arr);
?>
ログイン後にコピー

出力結果:

Array ( [0] => apple [1] => banana [2] => cherry )
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

この例では、元の配列には 3 つの要素と 3 つのキーが含まれています。この配列を array_values 関数に渡すと、結果の新しい配列には 3 つの要素のみが含まれ、そのキーは 0 から始まる番号が付け直されます。この方法を使用すると、元の配列を変更することなく、配列キーを簡単に削除できます。

2. foreach を使用して走査する

array_values 関数の使用に加えて、foreach ステートメントを使用して元の配列を走査し、新しい配列に要素を挿入することもできます。

サンプル コード:

<?php
$arr = array(&#39;a&#39;=>'apple', 'b'=>'banana', 'c'=>'cherry');
$new_arr = array();
foreach($arr as $value) {
    $new_arr[] = $value;
}
print_r($new_arr);
?>
ログイン後にコピー

出力結果:

Array ( [0] => apple [1] => banana [2] => cherry )
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

この例では、foreach ステートメントを使用して元の配列を反復処理します。配列をループして、元の配列の各要素を新しい配列に挿入します。最後に、結果の新しい配列では元の配列のキーが削除され、要素に 0 から始まるインデックスを付けることができます。

3. array_map 関数を使用する

array_values と foreach ステートメントの使用に加えて、PHP の組み込み関数 array_map も使用できます。この関数は、関数を 1 つ以上の配列に適用し、関数によって返された結果を含む新しい配列を返します。

サンプル コード:

<?php
$arr = array(&#39;a&#39;=>'apple', 'b'=>'banana', 'c'=>'cherry');
$new_arr = array_map(function($value) { return $value; }, $arr);
print_r($new_arr);
?>
ログイン後にコピー

出力結果:

Array ( [a] => apple [b] => banana [c] => cherry )
ログイン後にコピー

この例では、array_map 関数を使用して無名関数を適用しました。無名関数は要素自体を返すだけなので、新しい配列の要素は元の配列の要素と同じです。

array_map 関数を使用して配列キーを削除するのは少し冗長に見えるかもしれませんが、柔軟で応用可能です。たとえば、この関数を使用して、配列内の各値を大文字に変換し、その過程で配列キーを削除できます。

サンプル コード:

<?php
$arr = array(&#39;a&#39;=>'apple', 'b'=>'banana', 'c'=>'cherry');
$new_arr = array_map(function($value) { return strtoupper($value); }, $arr);
print_r($new_arr);
?>
ログイン後にコピー

出力結果:

Array ( [a] => APPLE [b] => BANANA [c] => CHERRY )
ログイン後にコピー

array_map 関数を使用すると、元の配列を変更せずに、配列を迅速かつ柔軟に操作できます。

4.reset 関数と prev 関数を使用する

PHP には、配列をループして最初または前の要素を返すことができる、reset 関数と prev 関数が用意されています。これら 2 つの関数を使用すると、配列から要素を順番に取得し、新しい配列に挿入できます。

サンプル コード:

<?php
$arr = array(&#39;a&#39;=>'apple', 'b'=>'banana', 'c'=>'cherry');
$new_arr = array();
while (list(, $value) = each($arr)) {
    $new_arr[] = $value;
}
print_r($new_arr);
?>
ログイン後にコピー

出力結果:

Array ( [0] => apple [1] => banana [2] => cherry )
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

この例では、while ループを使用して元の配列を反復処理し、それぞれのメソッドを使用してその各要素を取得します。関数。ループ内で、各要素を新しい配列に挿入します。最後に、結果の新しい配列では配列キーが削除されます。

reset 関数と prev 関数の使用は他の方法ほど高速ではないかもしれませんが、柔軟で適用可能であり、他の配列操作にも使用できます。

結論

PHP で配列キーを削除することは、配列をよりコンパクトにして操作しやすくするため、一般的なタスクです。この記事では、配列キーを削除する 4 つの方法 (array_values 関数の使用、foreach トラバーサルの使用、array_map 関数の使用、reset 関数と prev 関数の使用) を紹介しました。これらの方法により、さまざまなニーズに合わせて配列を柔軟に操作できます。配列に対してどのような操作を行う場合でも、この記事で説明されているように、元の配列を保護し、新しい配列を使用して操作を実行することが重要です。

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

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