配列
配列は複数の異なるタイプのデータを格納でき、複合データタイプです。
array() を使用して配列を初期化できます。カンマを使用して各配列要素を区切ります
PHP5.4 バージョン以降では、配列の初期化がより簡潔になり、角括弧 [] を使用して初期化します
単純な配列を作成しましょう:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $array=array(100,1.34,true,"PHP中文网",); echo '<pre>'; var_dump($array); echo '<pre/>'; ?>
上の例では、
Integer2
Boolean3 を格納していることがわかりました。
文字列注
: 上記の例の echo pre タグの主な目的は、形式をより見やすく明確にするために、そのまま出力することです。
プログラムの実行結果を見てみましょう: 1. array(size = 4) には 4 つの要素があることを意味します
2 0 => int 100 int は整数 100 を意味することがわかります。整数値です。それでは、前の 0、1、2、3 および => は何を意味するのでしょうか?
3. 最新の 0、1、2、3 は値の読み取り識別番号を表し、これを添え字またはキー (英語: key) と呼びます。
4. => はシンボルの標準名です。キーと値の対応。したがって、後で 0=> int 1 を見ると、次のように言えます。 添字アクセサー 0 は、整数型の 1 に対応します。
5. 配列要素のキーと値のペアとも呼びます。要素はキーと値のペアの組み合わせです。
上記の例を通じて、配列の宣言方法の 1 つである
index arrayの宣言が完了しました。いわゆるインデックス配列。添字がすべて整数である配列です。
ヒント
インデックス配列の添え字は0から始まる必要がありますか?
答え: この質問は実際には真実ではありません。インデックス配列は必ずしも 0 から始まるわけではありません。
では、どうしたら0から始められないのでしょうか? 答え: 上記で学んだ小さな知識を活用する必要があります。これはキーと値の対応関係です。以下に示すように
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $kele = array(5=>'只有不断努力才能博得未来',10 => 'php.cn', 'PHP中文网' ,'好好学习哦', 19 => '去PHP中文网学习PHP'); //打印显示$kele echo '<pre>'; var_dump($kele); echo '</pre>'; ?>
上記の例からわかるように、インデックス配列の添字は 5 から始まります
ルールを要約しましょう:
インデックス配列が添字を強制的に宣言しない場合、その添字は 0 から始まります。 (最初の配列の値: 継続的な努力によってのみ未来を勝ち取ることができます。この値の添字は 0 です)。
2. 添え字を指定した場合、その添え字は私が指定した値になります。たとえば、下付き文字 5、10、19 はすべて私が指定した値です。
3. 特定の値 (php.cn など) に添字の指定が強制される場合 (添字は 10)。添え字が指定されていない場合は、その後に追加される値 (PHP Academy)。それらの添字は
を最大値 +1 まで増加させます。
連想配列
インデックス配列を適当に変形して連想配列が表示されます。配列内に文字列の配列が存在する限り、それは連想配列です。
それでは連想配列を宣言しましょう。これは、インデックス付き配列の宣言と同じ方法で行われます。ただし、文字列の添字を指定する必要があり、キーと値の対応を使用する必要があるという点が異なります。
例
私たちは実験を通して次のことを知っています:
1. 連想配列には、キー名 => の要素が存在する可能性があります。インデックス配列グループ 最も一般的に使用されるタイプです。 では、1次元配列の数を計算するにはどうすればよいでしょうか。実際、前に学んだ数学関数の 1 つである
count()を使用できます。
count(
$variable)関数は、配列の長さ(要素数)を返すために使用されます: 例
<?php $arr=[ //用[]创建数组 'name'=>'Tom', 'age'=>'18', 'gender'=>'male' ]; echo "<pre>"; var_dump($arr) ; echo"</pre>" ?>
インデックス配列に対して for ループを使用します
「トラバース」という言葉は文字通り、すべてを順番に読み取ってアクセスし、表示することを意味します。 for ループは単純なカウント ループであり、インデックス配列の添え字は整数値であるためです。したがって、for ループを通じてインデックス配列を反復処理できます。
<?php $name=Array('tom','andy','jack'); echo count($name); ?>上記の例を通じて、配列をループさせます。
添字は0から始まるので$i=0と定義します。 $i はループするたびに 1 ずつ増加しますが、配列添字の最大値は 2 であるため、$i は 3 未満でなければなりません。
このようにして、インデックス付きの連続添字配列を走査する方法を学びました。
それでは、次の質問があります:
連想配列はどうでしょうか? インデックス配列の添字が連続していない場合はどうなるでしょうか? これには、以下で学んだ知識が使用されます。
foreach の基本構文
配列をループするために特別に使用されるブールループがあります。このループの基本構文は foreach の基本構文です
foreach( [key 変数=>] 値変数としてループする配列変数 ){
//ループの内容
}
これは固定の使用法で、ループする配列を入れます。
as は固定キーワードです
の後のキー変数はオプションです ループするたびに、foreach構文はキーを取り出してキー変数
値変数に割り当てます。が必要です。ループするたびに、値が value 変数に格納されます。
この構文の理解を深めるために、以下の例としてコードを使用します。
例
<?php $arr=Array('tom','andy','jack'); $arrlength=count($arr); for($x=0;$x<$arrlength;$x++){ echo $arr[$x]; echo "<br/>"; } ?>
上記の実行結果により、次の結果が得られます:
1. ループ中に毎回、添え字が変数 $key に割り当てられ、値変数が割り当てられます。変数 $value
2. ループしてキーと値を 1 回読み取ります。最後まで読み取って、読み取れる配列要素がないことが判明すると、ループはデータの走査を停止します。
注: $key と $value は変数名である必要はありません。 $kai => $wen など、別の名前を付けることもできます。 キーがどの変数に割り当てられているか、および値が他のどの変数に割り当てられているかを知る必要があります。
次の例のように、foreach を通じて連続インデックス配列を走査します。
?php $arr=[ 'name'=>'Tom', 'age'=>'18', 'gender'=>'male' ]; foreach($arr as $key=>$value){ echo $key.": ".$value."<br />"; }; ?>
foreach の結果に基づく推論は、直前に実行された連想配列の結果と同じです。
違いは、不連続なインデックス配列です。配列の要素が読み取られるたびに、現在のループの添字が変数 $k に割り当てられ、値が変数 $v に割り当てられます。キーと値を読み出すたびに、キーと値を入力して表示します。ループは一度に 1 インデックスずつ後方に移動します。最後まで読んで実行を終了します。
多次元配列
PHP上級チュートリアルで多次元配列について説明します。
完全な PHP 配列リファレンス マニュアル
完全な配列関数リファレンス マニュアルについては、PHP 配列リファレンス マニュアルをご覧ください。 このリファレンスマニュアルには、各機能の簡単な説明と使用例が記載されています。