さて、配列について話しましょう
PHP 配列には 3 つのタイプがあります
数値配列 数値 ID キーを持つ配列
連想配列 配列内の各 ID キーは値に関連付けられます
多次元配列 1 つ以上の配列を含む配列
配列について宣言
<?php $a[5]; $a[5]={1,2,3,4,5}; ?>
C言語のような従来の2つの型はphpでは実現できません
phpには配列を定義するために使用されるキーワード配列があります
<?php $a=array(); ?>
これは空の配列を定義するためのもので、いいえ、長さを指定する必要があります内部の要素は動的に追加できるので、追加した分だけ配列を追加し続けることができます。これは非常に素晴らしいことです
<?php $a=array(); echo $a; ?>
この方法で a の型を出力すると、結果は次のようになります。配列
しかしこの場合、配列が空であるためエラーが報告されます
<?php $a=array(); echo $a[0]; ?>
配列を定義するには主に 2 つの方法があります。1 つは、array
<?php $a=array(1,2,3,4,5); for($i=0;$i<count($a);$i++) echo $a[$i]."<br/>"; ?>
<?php $a[0]='a'; $a[1]='b'; $a[2]='c'; for($i=0;$i<count($a);$i++) echo $a[$i]."<br/>"; ?>
例えばこれは間違いです
<?php $a[0]='a'; $a[1]='b'; $a[2]='c'; $a[5]='d'; for($i=0;$i<count($a);$i++) echo $a[$i]."<br/>"; ?>
<?php $a=array(1,'b',"hello",1.0); for($i=0;$i<count($a);$i++) echo $a[$i]."<br/>"; ?>
とても強力だと思いませんか
次に、連想配列について話しましょう
連想配列は通常の配列よりも強力です。添え字に数字を使用する必要はありませんが、独自の名前を選択してください
これは Java のマップと同様のキーと値の関係です** は非常に似ています
<?php $a=array("a"=>1,'b'=>2,"c"=>3); echo $a["a"]."<br/>"; echo $a['b']."<br/>"; echo $a["c"]."<br/>"; ?>
<?php $a=array("a"=>1,'a'=>2,"c"=>3); echo $a["a"]."<br/>"; echo $a["c"]."<br/>"; ?>
<?php $a["a"]="hello"; $a["b"]="world"; echo $a["a"]."<br/>"; echo $a["b"]."<br/>"; ?>
<?php $a["a"]=>"hello"; $a["b"]=>"world"; echo $a["a"]."<br/>"; echo $a["b"]."<br/>"; ?>
さらに、数字もキーとして使用することができます
<?php $a["1"]="hello"; $a["2"]="world"; echo $a["1"]."<br/>"; echo $a["2"]."<br/>"; ?>
それは実行可能です
<?php $a['a']="hello"; $a['b']="world"; echo $a[a]."<br/>"; echo $a [ b ]"; ?>
これは多次元配列、二次元を定義するためです
<?php $a=array(array('a',1,2),array("hello",3,1.1,)); echo $a[0][0]; ?>
<?php $a=array(array('a',1,2),array("hello",3,1.1,2,'a')); echo $a[0][0]; ?>
<?php $a[0][0]="hello00"; $a[0][1]="hello01"; $a[0][2]="hello02"; $a[0][3]="hello03"; $a[1][0]="hello10"; $a[1][1]="hello11"; $a[1][2]="hello12"; $a[1][3]="hello13"; for($i=0;$i<2;$i++){ for($j=0;$j<4;$j++) echo $a[$i][$j]." "; echo "<br/>"; } ?>
多次元の連想配列を定義することもできます
<?php $a=array('a'=>array('a'=>"hello",'b'=>"world"),'b'=>array('one'=>1,'two'=>2,'three'=>3)); echo $a['a']['a']; ?>
<?php $a=array('a'=>array("hello","world"),'b'=>array(1,2,3)); echo $a['a'][0]."<br/>".$a['b'][2]; ?>
hello 3
このようには絶対に遊べません
<?php $a=array(array('a'=>"hello",'b'=>"world"),array('one'=>1,'two'=>2,'three'=>3)); echo $a['a']; ?>
間違っています
<?php $a=array(array(array(1,2,3))); echo $a[0][0][0]; ?>
<?php $a=array(array(array(1,2,3)),array(array(4,5,6))); echo $a[1][0][0]; ?>
<?php $a=array(array(array(1,2,3),array(4,5,6)),array(array(7,8,9))); echo $a[0][1][1]; ?>
さて分析してみましょうそれ
例: $a[0][1][1]; 一番右の角括弧内の要素は、配列の最も内側の要素を表します
$a= array(array(array(1,2,3),array(4) ,5,6)),array(array(7,8,9)));
最大3階層に分けられ、一番右の角括弧内の要素が最内層を意味します
次に、左の四角括弧は外側の層に行き、以下同様です
実際、もっと見るとわかりますが、いくつかの層がいくつかの次元配列に分割されています
さらに、3-についてはあまり知る必要はありません次元配列については、一般的には 2 次元をマスターすれば十分です
以前に foreach ループについて詳しく説明しませんでしたが、実際には、1 次元配列を走査するには foreach ループを使用するのが最善です
<?php $a=array(1,"hello",'a'); foreach($a as $value) echo $value."<br/>"; ?>
1 hello a
とても簡単ですね
$valueは単なる一時変数で、配列要素を保存するために使用されます。任意の名前を付けることができます
<?php $a=array(1,"hello",'a'); foreach($a as $value) echo $a."<br/>"; ?>
Array Array Array