ホームページ > バックエンド開発 > PHPの問題 > PHP配列をキーのない配列に変換する方法

PHP配列をキーのない配列に変換する方法

PHPz
リリース: 2023-04-25 10:17:18
オリジナル
589 人が閲覧しました

PHP プログラミングでは、配列は最も一般的に使用されるデータ型の 1 つであり、複数の値を保存し、それらに順次アクセスできます。各値はインデックス (キーとも呼ばれます) によって参照できます。ただし、場合によっては、PHP 配列をキーのない単純な配列に変換する必要がある場合があります。この記事では、その方法を説明します。

PHP 配列の基本

PHP では、次の 2 つの方法で配列を宣言できます。

  • array() 関数、つまり $array を使用します。 = array (value1, value2, …);
  • 角かっこ [] を使用します。つまり、$array = [value1, value2, …]。

このうち、value1、value2 などは配列内の値を表し、文字列、数値、配列、オブジェクトなどの任意の PHP データ型を使用できます。どちらの方法でも、デフォルトではキーが 0 から自動的に割り当てられます。

たとえば、次のコードで作成された配列 $arr には 3 つの要素があります:

$arr = array("apple", "banana", "orange");
ログイン後にコピー

この配列のキーは 0、1、2 で、対応する値は「apple」です。 「」と「バナナ」と「オレンジ」。

通常、配列内の値にアクセスするには、対応するキーを使用する必要があります。たとえば、次のコードは配列 $arr の 2 番目の要素を出力します。

echo $arr[1];     // 输出 "banana"
ログイン後にコピー

配列内の各要素をループする場合は、for または foreach ループを使用できます。たとえば、次のコードは配列 $arr の各要素を出力します。

for ($i = 0; $i < count($arr); $i++) {
  echo $arr[$i] . " ";
}

foreach($arr as $value) {
  echo $value . " ";
}
ログイン後にコピー

両方のコードの出力結果は「アップル バナナ オレンジ」です。

PHP 配列をキーのない配列に変換する

PHP 配列をキーのない単純な配列に変換する必要がある場合があります。たとえば、配列を何らかの関数に渡す必要がある場合は、キーのない配列の方が適しています。 PHP では、配列をキーのない配列に変換するのは実際には簡単で、array_values() 関数を使用するだけです。この関数は、配列内のすべての値を含む新しい配列を返し、元の配列のキーは 0 から始まる番号として再インデックスされます。

たとえば、次のコードは、配列 $arr をキーなしの新しい配列 $new_arr に変換します。

$arr = array("apple", "banana", "orange");
$new_arr = array_values($arr);
ログイン後にコピー

キーなしで配列 $new_arr の値を出力します。

print_r($new_arr);       // 输出 Array ( [0] => apple [1] => banana [2] => orange )
ログイン後にコピー

配列 $new_arr のキーはそれぞれ 0、1、2 で、元の配列 $arr のキーと同じであることがわかりますが、これらのキーには意味がありません。新しい配列の各値にアクセスするには、たとえば次のようにインデックスを使用します。

echo $new_arr[0];        // 输出 "apple"
ログイン後にコピー

summary

PHP 配列をキーのない配列に変換するのは非常に簡単です。array_values( を使用するだけです。 ) 関数。この関数はキーのない新しい配列を返し、元の配列のキーは 0、1、2... の番号に再インデックスされます。このメソッドは、array() 関数または角括弧 [] で定義されているかどうかに関係なく、あらゆるタイプの PHP 配列で機能します。

キーのない配列は、配列を一部の関数に渡す必要がある場合に通常使用されます。この種の配列を使用すると、コードが簡素化され、プログラムの可読性と保守性が向上します。

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

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