Creating Indexed Arrays
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 35/71。
配列が何であるかを理解したところで、それらを作成する方法を見てみましょう。PHPでは、添字配列を作成する2つの方法が用意されています。
最も一般的なアプローチでは、角括弧を使用します:
<?php
$colors = ["Red", "Green", "Blue"];
?>また、array() 関数を使用することもできます。これは全く同じ動作をします:
<?php
$colors = array("Red", "Green", "Blue");
?>どちらの方法でも、同一の配列が作成されます。角括弧の構文はより短く、よりモダンであるため、現在のPHPコードではこちらの方がよく使われています。
配列は、文字列、数値、真偽値、さらにはそれらが混在したものなど、あらゆるタイプのデータを保持できます:
<?php
$numbers = [10, 20, 30, 40];
$mixed = ["Hello", 42, true];
?>空の配列を作成し、後で項目を追加することもできます。
<?php
$tasks = [];
?>覚えておいてください。PHPは自動的に0から始まるインデックス番号を割り当てます。したがって、$colorsでは、"Red"はインデックス0、"Green"はインデックス1、"Blue"はインデックス2になります。
チャレンジ
簡単入力から3つの値、文字列 fruit1、文字列 fruit2、および文字列 fruit3 を読み取ります。
これら3つのフルーツを受け取った順に格納する、$fruits という名前の添字配列を作成します。
次に、入力から2つの整数 num1 と num2 を読み取ります。
これら2つの数値を入力された順に格納する、$numbers という名前の添字配列を作成します。
最後に、$emptyList という名前の空の配列を作成します。
配列の内容をカンマ区切りの文字列として出力するには、implode() を使用します。これは区切り文字列と配列を受け取り、すべての要素を結合します。
implode(",", $fruits) → Apple,Banana,Cherry
以下の内容をそれぞれの行に出力してください:
Fruits:という単語の後にスペースを入れ、その後に3つのフルーツをカンマで区切って表示します(カンマの後にスペースは入れません)。Numbers:という単語の後にスペースを入れ、その後に2つの数値をカンマで区切って表示します(カンマの後にスペースは入れません)。Empty:という単語の後にスペースを入れ、空の配列に要素がない場合はyes、そうでない場合はnoを表示します(配列が空かどうかをチェックするには、count()と三項演算子を使用してください)。
例:
入力が Apple、Banana、Cherry、10、20 の場合、出力は以下のようになります:
Fruits: Apple,Banana,Cherry
Numbers: 10,20
Empty: yes入力が Mango、Orange、Grape、5、15 の場合、出力は以下のようになります:
Fruits: Mango,Orange,Grape
Numbers: 5,15
Empty: yes自分で試してみよう
<?php
// フルーツの入力を読み込む
$fruit1 = trim(fgets(STDIN));
$fruit2 = trim(fgets(STDIN));
$fruit3 = trim(fgets(STDIN));
// 数値の入力を読み込む
$num1 = intval(fgets(STDIN));
$num2 = intval(fgets(STDIN));
// TODO: 以下にコードを記述してください
// 1. 3つのフルーツを含む `$fruits` という名前の添字配列を作成する
// 2. 2つの数値を含む `$numbers` という名前の添字配列を作成する
// 3. `$emptyList` という名前の空の配列を作成する
// 4. 指定された通りに結果を出力する
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators6Arrays Part 1 - Indexed
Introduction to ArraysCreating Indexed ArraysAccessing Elements by IndexModifying Elements by IndexArray Size with CountAdding Elements to an ArrayRecap - Managing a Simple List