Quantcast
Channel: 配列タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 757

PHPでの配列とハッシュ(連想配列)の書き方(初学者向け)

$
0
0
はじめに PHPの基本をこの記事で書いていきます。 PHPの初学者の方向けの記事です。実際にコードを書いたりして 実際の挙動などを確認してみてください。 環境 MAMPをインストールします。 エディタはVScodeです。 環境構築方法 MAMPの環境構築が動画でわかりやすく載っていました。 PHPで出力する時はMAMPで出力するのでこちらを確認してください。 バージョン 以下のバージョンで挙動を確認しました。 配列とは 簡単にいうとデータのかたまりのことです。 つまりデータをたくさん詰められるタンスのような役割をしています。 そして、データ1つ1つは箱のようなもので、要素と呼んでいます。 例えば、それぞれ名前(文字列)を格納するようなイメージになります。 引用  https://www.web-knowledge-info.com/wp/php6/ 箱1つ1つには番号が振られていて、この番号を添字と呼んでいます。添字は0から始まります。 変数と配列を比較する 変数と配列を比較していきましょう。 まず変数からです。変数名を動物にしていきます。 <?php //変数 $animal_1 = "犬"; $animal_2 = "猫"; $animal_3 = "猿"; echo $animal_1. "<br>". $animal_2. "<br>". $animal_3; //brは改行 //犬 //猫 //猿 ただこの変数の数が10000個とかになると時間がかかってしまいますよね。 そこで配列が登場します。配列を見ていきましょう。 <?php //配列 $animal[0] = "犬"; $animal[1] = "猫"; $animal[2] = "猿"; echo $animal[0]. "<br>". $animal[1]. "<br>". $animal[2]; //犬 //猫 //猿 配列では***[添字]***を入れていきます。 配列の格納 配列を実際に格納のやり方を見ていきます。 $animal = ["犬","猫","猿"]; echo $animal; //犬 //猫 //猿 数字でも表せます。 $array = [10,20,30]; //arrayは配列 echo $array[0]; echo $array[1]; //10 //20 プログラムは0から始まります。 var_dumpで配列を中身を見てみます。 $array = [10,20,30]; var_dump($array); // array(3) { [0]=> int(10) [1]=> int(20) [2]=> int(30) } 出力を見やすくするのに<pre>を使います。 <?php $array = [10,20,30]; echo "<pre>"; var_dump($array); echo "<pre>"; //array(3) { // [0]=> // int(10) // [1]=> // int(20) // [2]=> // int(30) //} デバック関数print_r デバック用にPHPが用意している関数で、print_rと言います。 配列の中身を確認したりするときに使います。 $score[0] = 100; echo $score[0]. "<br>"; echo print_r($score). "<br>"; //100 //Array ( [0] => 100 ) 1 var_dumpも入れてみると $score[0] = 100; echo $score[0]. "<br>"; echo print_r($score). "<br>"; echo var_dump($score); //100 //Array ( [0] => 100 ) 1 //array(1) { [0]=> int(100) } var_dumpはprunt_rよりも詳しく確認したい場合に使います。 ハッシュ(連想配列) ハッシュとはkeyやvalueを入れて配列よりもわかりやすく表したものです。 引用 https://www.web-knowledge-info.com/wp/php6/ さらにハッシュでは$data以外にもいろいろなグループに分けたりすることができます。 ex) $school,$Playerなど 配列の初期化 配列の初期化のやり方は下記のコードになります。 <?php //配列の初期化 $array = array(); $array = []; echo print_r($array); //Array ( ) 1 値を入れた初期化の方法です。 <?php $animal = ["ライオン","チーター","トラ"]; echo print_r($animal); //Array ( [0] => ライオン [1] => チーター [2] => トラ ) 1 ハッシュの書き方 今回はサッカー選手を変数にしていきます。 <?php $soccer_player = ["name" => "メッシ","nation" => "アルゼンチン","height" => 169]; echo $soccer_player["name"]; //メッシ 連想配列ではechoの後にkeyの部分を入れたりします。 var_dumpなどで中身を見ていきます。 <?php $soccer_player = ["name" => "メッシ","nation" => "アルゼンチン","height" => 169]; echo $soccer_player["name"]; echo "<pre>"; var_dump($soccer_player); echo "</pre>"; //メッシ //array(3) { // ["name"]=> // string(9) "メッシ" // ["nation"]=> // string(18) "アルゼンチン" // ["height"]=> // int(169) //} キーと値の初期化 次にキーと値を入れて初期化していきます。 <?php $soccer_player = [ "メッシ" => "Messi", "ロナウド" => "Ronald", "ネイマール" => "Neymar", ]; print_r($soccer_player ); //Array ( [メッシ] => Messi [ロナウド] => Ronald [ネイマール] => Neymar ) ロナウドを出力したい場合は <?php $soccer_player = [ "メッシ" => "Messi", "ロナウド" => "Ronald", "ネイマール" => "Neymar", ]; print_r($soccer_player ). "<br>"; echo $soccer_player["ロナウド"]. "<br>"; //Array ( [メッシ] => Messi [ロナウド] => Ronald [ネイマール] => Neymar ) Ronald 多次元配列 配列の中に配列があるものを多次元配列と言います。 <?php $pokemon_1 = [ "ピカチュウ","ミュウ","ミュウツー" ]; $pokemon_2 = [ "リザードン","カメックス","フシギバナ" ]; //この2つの配列を組み合わせて多次元配列 $my_pokemon = [ $pokemon_1, $pokemon_2 ]; ?> <pre><?php echo print_r($my_pokemon). "<br>"; ?></pre> で実行すると Array ( [0] => Array ( [0] => ピカチュウ [1] => ミュウ [2] => ミュウツー ) [1] => Array ( [0] => リザードン [1] => カメックス [2] => フシギバナ ) ) 1 さらに下のコードを入れると以下のように出ます。 <?php echo $my_pokemon[0][2]. "<br>"; php echo $my_pokemon[1][0]. "<br>"; //ミュウツー //リザードン 今回は2つしか配列はないですが、配列の数が増えるとどんどん階層が深くなっていきます。 多次元配列を出力 多次元配列を下の例題に沿って書いていきます。 下のポケモンの名前、レベル、タイプの値が入った2次元配列を作り、 連想配列を1つ作って、その配列の中身を全て出力する ①名前 : ピカチュウ レベル : 70  タイプ : "電気" ②名前 : リザードン レベル : 90 タイプ : "炎" ③名前 : ミュウツー レベル : 100 タイプ : "エスパー" $pokemon = [ ["name" => "ピカチュウ", "level" => 70, "type" => "電気"], ["name" => "リザードン", "level" => 90, "type" => "炎"], ["name" => "ミュウツー", "level" => 100, "type" => "エスパー" ], ]; $Pikachu = ["name" => "ピカチュウ", "level" => 70, "type" => "電気"]; $Charizard = ["name" => "リザードン", "level" => 90, "type" => "炎"]; $Mewtwo = ["name" => "ミュウツー", "level" => 100, "type" => "エスパー"]; //$pokemon = [$Pikachu,$Charizard,$Mewtwo]; ?> <pre><?php echo print_r($pokemon). "<br>";?> </pre> 出力すると Array ( [0] => Array ( [name] => ピカチュウ [level] => 70 [type] => 電気 ) [1] => Array ( [name] => リザードン [level] => 90 [type] => 炎 ) [2] => Array ( [name] => ミュウツー [level] => 100 [type] => エスパー ) ) 1 ちなみにvar_dumpを使うと <pre><?php var_dump($pokemon). "<br>";?> </pre> array(3) { [0]=> array(3) { ["name"]=> string(15) "ピカチュウ" ["level"]=> int(70) ["type"]=> string(6) "電気" } [1]=> array(3) { ["name"]=> string(15) "リザードン" ["level"]=> int(90) ["type"]=> string(3) "炎" } [2]=> array(3) { ["name"]=> string(15) "ミュウツー" ["level"]=> int(100) ["type"]=> string(12) "エスパー" } } PHPの基礎がわからない方向けの記事 全くわからない方は下の記事を読んでみてください。 参考資料

Viewing all articles
Browse latest Browse all 757

Trending Articles