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