PHPの配列定義
配列 皆さんに次の 2 つの点を覚えてもらう前に:
1. 配列は複数の異なるタイプのデータを格納でき、複合データタイプです。
2. 配列の英語名は array です。最も簡単な配列宣言を学びましょう。
それでは、簡単なレビューをしてみましょう:
<?php $shu = array(1 , 1.5 , true ,'天王盖地虎,小鸡炖蘑菇'); echo '<pre>'; var_dump($shu); echo '</pre>'; ?>
上記の例では、以下を格納していることがわかりました:
1. 整数
2. 浮動小数点
3. ブール値
4. 文字列
注: メイン上記の例の echo pre タグの目的は、データをそのまま出力することで、形式がより見やすく明確になることです。
var_dump() を使用して出力し、効果を確認します:
上の図を注意深く見ると、次の特徴がわかります:
1.array(size = 4) 説明: 4要素
2.0 => int 1 int は整数を意味し、1 は整数値であることがわかっています。では、前の 0、1、2、3 および => は何を意味するのでしょうか?
3. 最新の 0、1、2、3 は値の読み取り識別番号を表し、これを添え字またはキー (英語: key) と呼びます
4. => はシンボルの標準名です。キーと値に対応します。したがって、後で 0=> int 1 を見ると、次のように言えます。 添字アクセサー 0 は、整数型の 1 に対応します。
5. 配列要素のキーと値のペアとも呼びます。要素はキーと値のペアの組み合わせです。
そうそう! 配列はいくつかのルールがあるため、習得するのは非常に簡単なようです。
上記の例では、配列の宣言メソッドの 1 つであるインデックス配列の宣言を実際に誤って完了してしまいました。
いわゆるインデックス配列: 添え字がすべて整数である配列です。
インデックス配列の添え字は0から始まる必要がありますか?
答え: この質問は実際には真実ではありません。インデックス配列は必ずしも 0 から始まるわけではありません。
どうして0から始められないのでしょうか?
答え: 上記で学んだ小さな知識を活用する必要があります。これはキーと値の対応関係です。書き始めましょう。
<?php $kele = array('只有不断努力才能博得未来',10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '凤姐和芙蓉我都爱' , '杨幂我最爱'); //打印显示$kele echo '<pre>'; var_dump($kele); echo '</pre>'; ?>
上の例では、誤ってインデックス配列を書き込んでしまいました。ただし、インデックス配列の添え字は 0 からではなく、10 から始まります。
ただし、上記の例では、コードをより美しく書くことができ、形式が明確になると感じます。
<?php $kele = array( '只有不断努力才能博得未来', 10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '凤姐和芙蓉我都爱' , '杨幂我最爱' ); //打印显示$kele echo '<pre>'; var_dump($kele); echo '</pre>'; ?>
これで分かりやすくなりましたか? 1 つの行が配列の値に対応します。
コードを実行して効果を見てみましょう:
上記の効果を通じて、ルールを要約してみましょう:
1. インデックス配列が添字を強制的に宣言しない場合、添字は 0 から始まります。 (最初の配列の値: 継続的な努力によってのみ未来を勝ち取ることができます。この値の添字は 0 です)。
2. 添え字を指定した場合、添え字は指定した値になります。たとえば、添え字 10 と添え字 19 は私が指定した値です。
3. 値 (NoAlike など) に添字の指定が強制される場合 (添字は 10)。添字が指定されていない場合は、その後に追加される値 (PHP 中国語 Web サイト)。添え字の成長パターンは最大 +1 です。
例: 私が大好きなフォン姉妹と芙蓉姉妹の下付き文字は 19 です。最後に追加しました: ヤン・ミーは私のお気に入りです。その添字は自動的に 11 に増加します。
知らず知らずのうちに、インデックス配列の作成方法を学習しました。素晴らしいですよね?本当に幸せですね!
インデックス配列に要素を追加する
インデックス配列の作成を学習したら、次にインデックス配列の追加、変更、削除を学習します。
<?php $minren = array( '杨幂', '王珞丹', '刘亦菲', '黄圣依' ); //如何向这$minren这个数组中增加元素呢 //猜猜范冰冰的下标是多少? $minren[] = '范冰冰'; $minren[100] = '范爷'; //它的下标又为几呢? $minren[] = '李晨'; ?>
概要:
1. インデックス配列に要素を追加するには、配列変数名 []、配列変数名 [キー値] の 2 つのメソッドを使用して要素を追加します
2. キー値の成長規則前と同じです 同じルールです。これらはすべて、最大値に 1 を加算するという原則に基づいています。
インデックス配列から要素を削除します
また、先ほどの配列を例として取り上げます:
<?php $minren = array( '杨幂', '王珞丹', '刘亦菲', '黄圣依', '范冰冰' ); //假设我不喜欢:黄圣依,如何将黄圣依给删掉掉呢? //如果删除掉后范冰冰的下标为多少呢? //如果在后面再追加一个元素,会填掉:“黄圣依”留下来的空吗? unset($minren[3]); $minren[] = '金星'; echo '<pre>'; var_dump($minren); echo '</pre>'; ?>
効果を見てください:
1. unset を使用して変数を削除し、値を削除します配列内で。
2. 中央の値を削除しても、後続の添字は自動的に前に進みません。ただし、元の値は何でも構いません
3. 値の 1 つを削除しても、新しく追加された値は元の位置を置き換えず、最大値に 1 を加算する原則に従います。
値の変更
最も簡単な作成、追加、削除を学びます。値を変更する方法は誰でも理解できると思います。
<?php $minren = array( '杨幂', '王珞丹', '刘亦菲', '黄圣依', '范冰冰' ); $minren[5] = '范爷'; $minren[2] = '亦菲,不要嫁给韩国人好吗?'; echo '<pre>'; var_dump($minren); echo '</pre>'; ?>
上記のコードを実行し、出力して結果を確認します。
1. 変数名 [キー] = 新しい値を使用します。配列内の値が変更されます。
インデックス付き配列を宣言するその他の方法
上記の例を通じて、配列を宣言する方法を学びました。配列を宣言する他の方法を学びましょう。
1. 以前に宣言されていない変数を直接使用し、変数名の後に括弧で囲んで配列を宣言します。
<?php //直接写一个变量后面加上中括号,声明变量 $qi[] = '可口可乐'; $qi[10] ='百事可乐'; echo '<pre>'; var_dump($qi); echo '</pre>'; ?>
2. 毎回array()を書くのは面倒なので、その方が簡単です。
<?php $minren = [ '杨幂', '王珞丹', 100 => '刘亦菲', '黄圣依', '范冰冰' ]; echo '<pre>'; var_dump($minren); echo '</pre>'; ?>
上記は他の 2 つの書き方です。もちろん、好きな方を使っても構いません。
連想配列
インデックス配列が適切に変換され、連想配列が表示されます。配列内に文字列の配列が存在する限り、それは連想配列です。
上記の例を通じて、配列の添字は文字列のみであることがわかりました。もちろん、これでは私のニーズを満たすことができません。
イーソン・チャンの値に対応する添字ハンサムを宣言したいとします。それは確かに私のニーズを満たしていません。
それでは連想配列を宣言しましょう。これは、インデックス付き配列の宣言と同じ方法で行われます。ただし、文字列の添字を指定する必要があり、キーと値の対応を使用する必要があるという点が異なります。
<?php //声明一下关联数组 $rela = array( '帅' => '陈奕迅', '很帅' => '黄晓明', '灰常灰常帅' => '宁泽涛', '有男人味的大叔' => '吴秀波', ); //再来玩玩简洁声明 $drink = [ '美' => '凤姐', '很美' => '芙蓉姐姐', 'verymei' => '杨幂', '心中滴女神呀' => '华妃', 100 => '孙俪', '娘娘', ]; // 输出 $rela echo '<pre>'; var_dump($rela); echo '</pre>'; // 输出$drink echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
最終結果がどのようになるかを実験してみましょう:
実験を通じて次のことがわかります:
1. 連想配列をキー名 => 値として宣言します
2. 連想配列では、配列の要素にインデックスを付ける
3. 関連する配列内のインデックス配列の要素が添字なしで宣言された後も、最大値 + 1 の原則が引き続き使用されます。 (上の図の値が Sun Li と Empress の 2 つの要素であることに注目してください)。
連想配列の追加、削除、修正
<?php $drink = [ '美' => '凤姐', '很美' => '芙蓉姐姐', 'verymei' => '王涛', '心中滴女神呀' => '杨澜', 100 => '孙俪', '娘娘', ]; //追加方式与索引数组是一样的 $drink['ynj'] = '伊能静'; //输出试试 echo '<pre>'; var_dump($drink); echo '</pre>'; //删除一个试试 unset($drink['verymei']); echo '<pre>'; var_dump($drink); echo '</pre>'; //将芙蓉姐姐 改成:心里美才是真的美 $drink['很美'] = '心里美才是真的美'; echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
先ほどの実験を試してみると、操作方法はインデックスの操作方法と同じであることがわかります。ただ添え字の読み方が少し違うだけです。
連想配列を宣言するその他の方法
<?php $drink['nf'] = '农夫山泉'; $cocacola = '可口可乐'; //当然可以是变量哟 $drink['kl'] = $cocacola; $data = array( 'kl' => $cocacola, ); echo '<pre>'; var_dump($drink); echo '</pre>'; ?>
上記の例を通じて、連想配列では、配列を使用せずに変数の直後に括弧を追加することもできることがわかりました。括弧内に文字列添字を挿入すると、成功が宣言されます。
後から変数を挿入する例は文字列を変数にするだけですが、もちろん問題ありません。
配列への配列の挿入
配列は整数、浮動小数点、文字列に挿入できます。
もちろんです。
配列を学習するとき、このような名詞のグループを定義しました。
1. 1 次元配列 配列内には他の配列はなく、いくつかの単純な変数または値のみが含まれます。
2. 2次元配列に単層配列または複数の配列が挿入されます
3. 3次元配列では、配列(A)に配列(B)が挿入され、別のレベルが挿入されます配列 (C) を B 配列に追加すると、これを 3 次元配列
4 と呼びます。3 次元を超えるものは多次元配列と呼ばれます。
注: 他の配列をインデックス配列と連想配列の両方に挿入して、配列を多次元にすることができます。
1 次元のみの 1 次元配列を宣言しましょう。インデックス作成と関連付けは両方とも可能です。この操作は誰でもよく知っています。
<?php //一维的索引数组 $data = [1 , 2 , 3 , 4 , 10 => 250]; //一维的关联数组 $rela = [ 'beijing' => '北京', 'shanghai' => '上海', 'tj' => '天津', ]; echo '<pre>'; var_dump($rela); echo '</pre>'; echo '<pre>'; var_dump($data); echo '</pre>'; ?>
1 次元配列については誰もがよく知っており、必要なのは配列を宣言することだけです。 2 次元にするのは難しくなく、配列に 1 つ以上の配列を挿入するだけです。 2 次元をよく学べば、多次元もよく学べます。
えー実行して効果を見てみましょう:
変数 person が配列型であることがわかりました。要素は 3 つあります (size=3)。
最初の要素はofficeで、文字列「office」に対応します。
2番目の要素は配列です。この配列には4つの要素があり、値は次のとおりです。 、祖父母。
3 番目の要素は jiaotong で、これも 4 つの要素を含む配列で、値は自転車、オートバイ、車、飛行機です。
わかりました。2 次元のステートメントは適切です。形式を正しく記述し、配列を配列に挿入するようにしてください。
それではアクセス方法:おじいちゃんとお父さんの2つの価値観は何ですか?
<?php $person = array( 'office' => '办公室', //注意:插入第一个数组哟 'family' => array( '爸爸', '妈妈', 'yeye' => '爷爷', 'nn' => '奶奶', ), //注意:又插入了一个平级的数组 'jiaotong' => array( '自行车', '摩托车', '汽车', '飞机', ), ); echo '<pre>'; var_dump($person); echo '</pre>'; ?>
次のように結果を見てみましょう:
上記の例では、2 次元配列へのアクセスは、前の添え字の読み取り方法に従って順番に下方向に読み取るだけであることがわかります。
まず変数を記述し、角括弧内に添字ファミリーを記述してから、アクセスする要素の添字を記述します。
3 次元配列の概念について説明したので、直接実験を開始して効果を確認してみましょう:
<?php $person = [ 'office' => '办公室', //注意:插入第一个数组哟 'family' => [ '爸爸', '妈妈', 'yeye' => '爷爷', 'nn' => '奶奶', ], //注意:又插入了一个平级的数组 'jiaotong' => [ '自行车', '摩托车', '汽车', '飞机', ], ]; //访问“爸爸”这什值 echo $person['family'][0]; echo '<br />-----华丽丽的分割线------<br />'; //访问“爷爷”这什值 echo $person['family']['yeye']; echo '<br />-----华丽丽的分割线------<br />'; //访问“汽车”这什值 echo $person['jiaotong'][2]; ?>
実行して効果を確認してみましょう:
説明:
2 つあります変数 $area の下の配列。1 つは中国用、もう 1 つは米国用です。
上海、湖北省、天津、北京、広東省を china 配列に挿入します。北京と広東もまた別の配列だ。北京と広東の 2 つの配列には異なる要素があります。
米国のワシントン、サンフランシスコ、ニューヨークを配列に挿入します。ニューヨークの下には、ニューヨークの下のいくつかの地区を表す別の配列があります。
つまり、3次元配列とは、配列(A)を配列に挿入し、Aの配列に配列を挿入することです。
次に内部の値を読み取る方法を見てみましょう。
<?php $area = array( 'china' => array( '上海', '湖北', '天津', '北京' => array( 'hd' => '海淀', '朝阳', '房山', 'cp' => '昌平', ), '广东' => array( '深圳', '广州', '佛山', 'dg' => '东莞', ), ), 'usa' => array( '华盛顿', '旧金山', '纽约' => array( '曼哈顿区', '皇后区', '布鲁克林区', ), ), ); echo '<pre>'; var_dump($area); echo '</pre>'; ?>
上記を通じて、配列を学習するのは難しくないことがわかりました。
多次元配列を学習する際の難しさ:
形式に注意し、各次元の改行とインデントを整理してください。間違いを犯すのは簡単ではありません。
【注意事項】
配列要素間の区切り文字はカンマです。配列に配列を挿入する際、最後にセミコロン(;)を書かないでください