PHPには配列型がいくつありますか?

DDD
リリース: 2023-06-02 10:11:56
オリジナル
1190 人が閲覧しました

php には 3 種類の配列があります: 1. インデックス配列: 配列の添字は 0 などから始まる数値です; 2. 連想配列: 配列の添字は連想配列である文字は、文字列または NULL 以外の他のタイプの値を使用してインデックスを付けます; 3. 多次元配列: 1 つ以上の配列を含む配列、2 次元配列を超える配列、線形でも平面でもない配列多次元配列になります。

PHPには配列型がいくつありますか?

このチュートリアルの動作環境: Windows 10 システム、php8.1.3 バージョン、dell g3 コンピューター

配列はデータの集合です。 . 実用的な全体として編成された一連のデータ。 PHP の配列は、他の多くの高級言語の配列よりも複雑ですが、より柔軟です。

配列は、各値が要素と呼ばれる、順序付けられた変数のセットです。各要素は、キー (添え字とも呼ばれる) と呼ばれる特別な識別子によって区別されます。

配列内の各エンティティには、キーと値という 2 つの項目が含まれています。対応する配列要素は、数値キーまたは関連付けキーのキー値によって取得できます。変数が単一の値を格納するコンテナである場合、配列は複数の値を格納するコンテナです。

PHP 配列は、他の高級言語の配列よりも柔軟性があり、数値をキーとしたインデックス配列だけでなく、文字列または文字列と数値の混合をキーとした連想配列もサポートします。 Java や C などの他の高級言語では、配列は数値インデックス配列のみをサポートします。

PHP 配列の構造は次のとおりです。

PHPには配列型がいくつありますか?

PHP 配列の種類:

  • インデックス配列: 配列の添字は数値です;

  • 連想配列: 配列の添字は文字であり、連想配列です;

  • 多次元配列: 1 つ以上の配列を含む配列;

注: PHP の配列は実際にはインデックスと連想配列を区別しません。対応するキー値はキー名に基づいて見つかります

1. インデックス配列

インデックス配列には、単一または複数の値の組織化された一連の値が格納されます。符号なし整数値を使用してアクセスできます。インデックス配列のキーは整数で、0 から始まります。

インデックス配列の初期化例:

<?php 
//创建一个索引数组,索引数组的键是“0”,值是“苹果” 
$fruit=array("苹果","香蕉"); 
print_r($fruit); 
?>
ログイン後にコピー

実行結果:

Array
(
    [0] => 苹果
    [1] => 香蕉
)
ログイン後にコピー

インデックス配列の 3 つの代入方法:

  • array[ 0 ]='アップル';

  • $arr=array('0'=>'アップル');

  • ##$arr= array( 'Apple');

例:

<?php 
//请创建一个数组变量arr,并尝试创建一个索引数组,键是0,值是苹果 
$arr=array(0=>&#39;苹果&#39;); 
if( isset($arr) ) {print_r($arr);} 
?>
ログイン後にコピー

for と foreach を使用すると、配列内の要素にアクセスできます。for の方が簡単なので、次の例では foreach のみを使用します。

<?php 
$fruit=array(&#39;苹果&#39;,&#39;香蕉&#39;,&#39;菠萝&#39;); 
foreach($fruit as $key=>$value){ 
    echo &#39;<br>第&#39;.$key.&#39;值是:&#39;.$value; 
} 
   
?>
ログイン後にコピー

実行結果:

第0值是:苹果
第1值是:香蕉
第2值是:菠萝
ログイン後にコピー

注: ここで、$key はキーの値、$value は要素の値です。

2. 連想配列

「連想配列」とは、特殊なインデックス付け方法を備えた配列です。文字列または他のタイプの値 (NULL を除く) を使用してインデックスを付けます。

実際には、連想配列とインデックス配列の違いはキー値のみです。連想配列のキー値は文字列であり、これは人為的な規制です。例:

<?php 
//创建一个关联数组,关联数组的键“orange”,值是“橘子” 
$fruit=array(&#39;orange&#39;=>&#39;橘子&#39;); 
echo $fruit[&#39;orange&#39;]; 
?>
ログイン後にコピー

残りの初期化、代入、foreach 使い方は基本的に同じです。

3. 多次元配列

データ構造における概念、2 次元配列を超える配列、線形でも平面でもない配列は多次元配列になります。

<?php
    $arr = array(
        &#39;安徽&#39; => array(
            &#39;阜阳&#39;=>array(&#39;阜南县&#39;,&#39;临泉县&#39;,&#39;颍州区&#39;),
            &#39;宿州&#39;=>array(&#39;墉桥区&#39;,&#39;灵璧县&#39;,&#39;泗县&#39;),
            &#39;合肥&#39;=>array(&#39;蜀山区&#39;,&#39;长丰县&#39;,&#39;肥东&#39;)
        ),
        &#39;河南&#39; => array(
            &#39;洛阳&#39;=>array(&#39;西工区&#39;,&#39;老城区&#39;,&#39;孟津县&#39;),
            &#39;郑州市&#39;=>array(&#39;中原区&#39;,&#39;金水区&#39;)
        )
    );
    print_r($arr);
    echo $arr[&#39;安徽&#39;][&#39;宿州&#39;][0];  // 输出墉桥区
?>
ログイン後にコピー

このうち、「安徽省」は 2 次元配列、「富陽」、「蘇州」、「合肥」はそれぞれ 1 次元配列に対応し、同様に「河南」も 1 次元配列に対応します。二次元配列。 「安徽省」と「河南省」はそれぞれ 2 次元配列に対応し、これらを組み合わせて 3 次元配列を形成します。 PHP の多次元配列には決まった上限はありませんが、次元数が増えると配列はますます複雑になり、読み取り、デバッグ、保守が若干難しくなります。上記のプログラムの結果は次のようになります:

Array
(
    [安徽] => Array
        (
            [阜阳] => Array
                (
                    [0] => 阜南县
                    [1] => 临泉县
                    [2] => 颍州区
                )
            [宿州] => Array
                (
                    [0] => 墉桥区
                    [1] => 灵璧县
                    [2] => 泗县
                )
            [合肥] => Array
                (
                    [0] => 蜀山区
                    [1] => 长丰县
                    [2] => 肥东
                )
        )
    [河南] => Array
        (
            [洛阳] => Array
                (
                    [0] => 西工区
                    [1] => 老城区
                    [2] => 孟津县
                )
            [郑州市] => Array
                (
                    [0] => 中原区
                    [1] => 金水区
                )
        )
)
墉桥区
ログイン後にコピー

以上がPHPには配列型がいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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