ホームページ > バックエンド開発 > PHPチュートリアル > PHP 学習が正式にスタートします (3)

PHP 学習が正式にスタートします (3)

黄舟
リリース: 2023-03-04 11:32:01
オリジナル
964 人が閲覧しました

さて、配列について話しましょう
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/>";
?>
ログイン後にコピー

count キーワードを使用して要素数を計算する方法です。配列には

もう1つは


<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
ログイン後にコピー

変数の添字に直接値を代入すると、変数は自動的に配列になります

ただし、値は添字の順序で代入する必要があります

例えばこれは間違いです

<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
$a[5]=&#39;d&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
ログイン後にコピー

また、配列内の要素は同じ型ではない可能性があります

<?php
$a=array(1,&#39;b&#39;,"hello",1.0);
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
ログイン後にコピー

とても強力だと思いませんか

次に、連想配列について話しましょう
連想配列は通常の配列よりも強力です。添え字に数字を使用する必要はありませんが、独自の名前を選択してください
これは Java のマップと同様のキーと値の関係です** は非常に似ています

<?php
$a=array("a"=>1,&#39;b&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a[&#39;b&#39;]."<br/>";
echo $a["c"]."<br/>";
?>
ログイン後にコピー

-> ではないことに注意してください。内部の一重引用符と二重引用符は入れ替えることができます
Key=>値キーは繰り返すことができますが、結果は最後のキーが表示されます

<?php
$a=array("a"=>1,&#39;a&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a["c"]."<br/>";
?>
ログイン後にコピー

Print 2 3

連想配列には別の定義があります。上記のもの


<?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には注意事項があります、これは使用しないでください


<?php
$a[&#39;a&#39;]="hello";
$a[&#39;b&#39;]="world";
echo $a[a]."<br/>";
echo $a [ b ]";
?>
ログイン後にコピー

多次元配列について話しましょう
多次元配列では、メイン配列の各要素も配列です。部分配列の各要素は配列などにすることもできます

これは多次元配列、二次元を定義するためです

<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,));
echo $a[0][0];
?>
ログイン後にコピー

C言語で見ると、a[2][3]になります] 配列の数ではなく、次元の数だけです
同様に、多次元配列の要素も複数の型にすることができます

そして、次のようにすることもできます


<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,2,&#39;a&#39;));
echo $a[0][0];
?>
ログイン後にコピー

要素の数は必要ありませんこれは C 言語

よりも優れています。通常の配列と同様に、多次元配列もこの方法で定義できますが、これを行う人はいないと思います。 。


<?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/>";
}
?>
ログイン後にコピー

この 2 次元配列は 2 行 4 列の a[2][4] であり、非常に規則的です
列の要素の数が同じである限り、出力できることに注意してください。ループを使用すると、この文をC言語で考える必要はありません

多次元の連想配列を定義することもできます


<?php
$a=array(&#39;a&#39;=>array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),&#39;b&#39;=>array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); 
echo $a[&#39;a&#39;][&#39;a&#39;]; 
?>
ログイン後にコピー

helloを出力します
連想配列は関連しているので、少しめまいを感じます

これをする必要はありません、次のようにするとより明確になります


<?php
$a=array(&#39;a&#39;=>array("hello","world"),&#39;b&#39;=>array(1,2,3)); 
echo $a[&#39;a&#39;][0]."<br/>".$a[&#39;b&#39;][2]; 
?>
ログイン後にコピー

印刷してください

hello
3
ログイン後にコピー

このようには絶対に遊べません

<?php
$a=array(array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); echo $a[&#39;a&#39;]; ?>
ログイン後にコピー

間違っています


私が前に言ったことは次のとおりです二次元配列なので、三次元以上の定義方法は非常に簡単です



<?php
$a=array(array(array(1,2,3))); 
echo $a[0][0][0]; 
?>
ログイン後にコピー

Print 1

<?php
$a=array(array(array(1,2,3)),array(array(4,5,6))); 
echo $a[1][0][0]; 
?>
ログイン後にコピー

Print 4

<?php
$a=array(array(array(1,2,3),array(4,5,6)),array(array(7,8,9))); 
echo $a[0][1][1]; 
?>
ログイン後にコピー

Print 5

見ていてクラクラする人もいるかもしれません

さて分析してみましょうそれ
例: $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",&#39;a&#39;); 
foreach($a as $value)
echo $value."<br/>"; 
?>
ログイン後にコピー

出力

1
hello
a
ログイン後にコピー

とても簡単ですね
$valueは単なる一時変数で、配列要素を保存するために使用されます。任意の名前を付けることができます

プロキシ変数に配列を与えて出力を支援させるのと同じです




<?php
$a=array(1,"hello",&#39;a&#39;); foreach($a as $value)
echo $a."<br/>"; ?>
ログイン後にコピー

この方法では、配列要素は出力されません
出力のみです

Array
Array
Array
ログイン後にコピー

上記は、正式に開始される PHP 学習 (3) の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www) を参照してください。 .php.cn)!
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート