期間限定

キャンペーン中

体験授業申込

非エンジニアでも知らないとヤバイPHP Part8〜条件分岐について理解しよう〜

前回はPHPの配列について説明いたしました。今回はPHPの条件分岐(if文)について説明いたします。

条件分岐とは

条件分岐とは「ある条件が満たされる(論理値でtrueだった)かどうかによって、次に実行する処理を変化させる」ことです。PHPで記述する場合はif文という記法を用います。基本的な書き方は次の様になります。

<?php
if(条件){
  条件が当てはまる場合の処理
}
?>

次から詳しくみていきましょう。

条件分岐の作成方法

具体例をみていきましょう。新しいphpファイルを用意して

<?php
$a = 1;
if($a == 1){
  print('aは1です。');
}
?>

と入力してみてください。入力終了後ブラウザに表示(ブラウザの表示方法はこちら)させた場合「aは1です。」と表示されるはずです。これは$a == 1の条件式が正しい(true)ため、print関数が実行されております。ここで記入しているイコール2つ(==)ですが、論理型(true、false)を返す演算子となります。
では次に

<?php
$a = 1;
if($a == 2){
  print('aは2です。');
}
?>

と入力してブラウザに再度反映させてみてください。恐らく今度は表示されないと思います。これは変数aに1が代入されている状態で、$a == 2の条件式が正しくない(false)ため、print関数が実行されなかったことになります。

if文の条件に関して(true/false)

さて、ここでif文での「条件」について説明します。この条件ですが、判定は論理型(Boolean)で実行いたします(Booleanの説明はこちら)。条件を実行した結果がtrue(正しい)の場合{ }(カーリーブラケット)の中が実行されます。条件の実行結果がfalse(正しくない)の場合、{ }の中の処理は実行されません。試しに次を実行してみてください。

<?php
$a = true;
if($a){
  print('trueです。');
}
?>

「trueです。」とブラウザに表示されると思います。次は

<?php
$a = false;
if($a){
  print('falseです。');
}
?>

こちらはいかがでしょう。今度は表示されないかと思います。変数aにfalseが代入されているため、if文で記載している( )内の条件はfalseとなります。
では、次はどうでしょう?

<?php
$a = false;
if($a == false){
  print('falseです。');
}
?>

今度は「falseです。」と表示されるかと思います。これは、変数aにfalseが格納されていますが、if文内の条件である$a == falseは正しい(true)ですね。従って、条件式内がtrueのため、{ }内のprint関数が実行されます。
では次はどうでしょうか。

<?php
if(0){
  print('条件式の中は0です。');
}
?>

こちらは…実は表示されません。これは論理型(こちら)で説明しましたが、「0(integer)」は論理値ではfalseが返却されます。従って、条件もfalseが格納され、print関数が実行されなくなります。

他にも””(空の文字列)などの論理型で説明したfalseに該当する論理型が条件式に入っている場合、if文の{ }内の処理は実行されません。

条件式がfalseでの処理(! ビックリマーク・エクスクラメーションマーク)

先ほどは条件式がtrueの時の説明をいたしました。では、条件式がfalse(true「以外」)の場合でも処理をしたい場合はどのようにすればよいのでしょうか。この場合、条件式の先頭に「!(ビックリマーク・エクスクラメーションマーク)」を入力すれば処理が実行されます(半角文字で入力してください)。
PHPでの「!」は、論理演算子の「否定」を表します。具体例を見てみましょう。

<?php
$score = 1;
if(!($score == 100)){
  print("変数scoreは100ではありません");
}
?>

この場合、if文の処理は実行されます。$scoreに1が代入されているため$score == 100はfalseですが、!($score == 100)とすることで($score == 100)のfalseを「!」で否定しています。つまり!($score == 100)と記載することでここはtrueになり、if文の中のprint関数が実行されます。

条件がtrue/falseでの処理(else)

これまでは「ある条件が満たされる場合(true)」だけの処理を「!」も含めて説明いたしました。では「ある条件が満たされた場合と満たされなかった場合の処理」の2パターンの分岐をする処理はどうすればよいのでしょうか。その場合「else」を用います。基本的な書き方は次の通りです。

<?php
if(条件){
  条件が満たされた場合の処理
} else {
  条件が満たされなかった場合の処理
}
?>

上記の通り、条件が満たされた場合の処理の後ろに else { 条件が満たされなかった場合の処理 }を追加すればOKです。具体例を見ていきましょう。

<?php
$score = 70;
if($score >= 75){
  print('scoreは75以上です');
} else {
  print('scoreは75未満です');
}
?>

この場合はelse後の処理が実行されます。$scoreに70が代入されており、$score >= 75はfalseとなります。ちなみに$scoreに75以上の数値(integer)を代入すれば条件式がtrueとなり、print(‘scoreは75以上です’)が実行されます。

3つ以上の条件分岐(else if(){}else{})

さて、これまでは「条件が満たされた場合の処理の実行」「条件が満たされた場合、または満たされなかった場合」のif文をご紹介してきました。
次は「条件が3つ以上あった場合(複数条件)の条件分岐」をご紹介いたします。この場合、else if(){}else{}を用います。基本的な書き方は以下の通りです。

<?php
if(条件1){
  条件1が満たされる場合の処理;
} else if(条件2){
  条件2が満たされる場合の処理;
} else {
  条件1も条件2も満たされなかった場合の処理;
}
?>

今回は3つの条件でご紹介しましたが、else if(){}else if(){}…と繋げることで、条件をいくつでも追加していくことが可能です。では具体例を見ていきましょう。

<?php
$score = 55;
if($score >= 80){
  print('優');
} else if($score >= 70){
  print('良');
} else if($score >= 60){
  print('可');
} else {
  print('不可');
}
?>

この場合「不可」が表示されます。今回の条件は

  • 「$scoreが80以上の場合は’優’を出力」
  • 「$scoreが70以上の場合は’良’を出力」
  • 「$scoreが60以上の場合は’可’を出力」
  • 「$scoreが上記以外の場合は’不可’を出力」

の処理が「上から順番に実行」されています(プログラミングの順次処理)。今回$scoreには55が代入されているため、$score >= 80(false)、$score >= 70(false)、$score >= 60(false)が確認された後、どの条件も満たされなかった結果、最後のelse{ }内のprint関数が実行され「不可」が表示されます。上記の場合、$scoreに80以上が代入されていれば「優」が表示されます。

条件分岐と順次処理(else if(){} else {})

では、次はいかがでしょうか。

<?php
$score = 95;
if($score >= 60){
  print('可');
} else if($score >= 70){
  print('良');
} else if($score >= 80){
  print('優');
} else {
  print('不可');
}
?>


$scoreは80以上ですが「可」が表示されます。

今回期待する挙動としては「優」の表示です。この原因は、先ほど記載したプログラミングの順次処理と関係があります。今回のif文は最初の条件に$score >= 60が表示されています。

「$score = 95は$score >=60」なので最初の処理が実行されます。if文は、条件が当てはまった段階でif文の処理が実行され「後の処理は実行されません」。従って今回の条件分岐では「可」が表示されることになります(せっかく高いscoreなのに…)。


このことから、if文を含むプログラミングの処理は「順番」を考慮する必要があることがわかります。考え方としては、条件の厳しいものから順番に処理を実行し、最後に最も条件が甘い条件を実行する様なコードを書くと、期待する挙動が返ってくることになります。

複数条件(if文の入れ子・ネスト)

さて、これまでは複数の条件分岐について説明してきました。ここでは複数の条件について説明します。例えば「東京都にお住まいの、20歳以上のお客様限定の商品」があったとします。この場合「東京にお住まい」と「20歳以上」の両方(複数)の条件を満たす必要があります。この様に複数の条件がある場合、入れ子(ネスト)を用いることで表現が可能です。入れ子の書き方は、次の様になります。

<?php
if(条件1){
  if(条件2){
    条件1がtrueかつ、条件2もtrueの時の処理
  }
}
?>

if文の中にif文が入っていますね。この様に「ある構造の内部に同じ構造が含まれている状態」のことを入れ子(ネスト)と表現します。


条件1がtrueの時に最初の{ }の中の処理に移ります。{ }の中にif(条件2){ }があるので、今度は条件2の論理値が確認されます。条件2がtrueだった場合、if(条件2){ }の中の処理が実行されます。このように書くことで、複数条件のif文を書くことが可能です。
さて、以上を踏まえて例え話に戻ります。先程の条件に当てはまる人をあらかじめ用意する必要があるので、該当する$member変数も配列で用意いたします(配列に関してはこちらを参照)。

<?php
$member = array(
  'name' => '太郎',
  'gender' => '男性',
  'age' => 20,
  'address' => '東京都',
);
if($member['address'] == '東京都'){
  if($member['age'] >= 20){
    print('限定商品の購入が可能です!');
  }
}
?>

この様に書くことで、「東京にお住まい」と「20歳以上」の両方(複数)の条件を設定し、論理値を確認することが可能になります。上記は両方の条件を満たすため、「限定商品の購入が可能です!」と表示されます。


入れ子構造はいくらでも中に記入することが可能です。より厳しい条件を作ることも可能ですが、あまり入れ子が多くなる(ネストが深くなる)とコードが読みづらくなるため、書き方には注意が必要です。

複数条件(かつ(&&)、または(||))

if文の入れ子構造を用いて複数条件の説明をしましたが、他の書き方を行うことで同様の表現が可能です。ここでは&&と||についてご紹介いたします。

複数条件の設定方法

  • &&:かつ(and条件)
  • ||:または(or条件)

&&は、「◯かつ△」に該当します。厳密に言うと「&&の左側の論理値が「true」だった時に、右側の論理値を確認し、右側の論理値を返却する。左側が「false」の場合、falseを返却する。」となります。つまり、&&の左側の論理値がfalseだった場合、その時点でfalseが返却されるので、右側の論理値は確認されません。


||は、「○または△」に該当します。こちらも厳密に言うと「||の左側の論理値が「false」だった時に、右側の論理値を確認し、右側の論理値を返却する。左側の論理値が「true」の場合、trueを返却する。」となります。つまり、||の左側がtrueだった場合、その時点でtrueが返却されるため、右側の論理値は確認されません。

&&:かつ(and条件)

では実際に&&を書いてみましょう。先程の

<?php
$member = array(
  'name' => '太郎',
  'gender' => '男性',
  'age' => 20,
  'address' => '東京都',
);
if($member['address'] == '東京都' && $member['age'] >= 20){
  print('限定商品の購入が可能です!');
}
?>

こう書くと「限定商品の購入が可能です!」が表示されます。ここでは&&の左側の$member[‘address’] == ‘東京都’の論理値を判断した後、&&の右側の$member[‘age’] >= 20の論理値を確認します。両方trueのため、($member[‘address’] == ‘東京都’ && $member[‘age’] >= 20)はtrueが返却されるため、print関数が実行されます。

||:または(or条件)

では次に「65歳以上、または6歳以下の方は乗車賃免除」の乗り物があったとします。この条件をPHPで記述すると、例えば次の様に表現できます。

<?php
$member = array(
  'name' => '幼稚園児',
  'gender' => '女性',
  'age' => 5,
);
if($member['age'] >= 65 || $member['age'] <= 6 ){
  print('該当の年齢の方は、乗車賃が無料です。');
}
?>

この場合「該当の年齢の方は、乗車賃が無料です。」が表示されます。ここでは最初に$member[‘age’] >= 65の論理値が判断されます。||の左側がfalseのため、続いて||の右側の$member[‘age’] <= 6の論理値が判断されます。||の右側がtrueのため、if文の中のprint関数が実行されます。

if文を1行で書く(三項演算子 ?と:)

ここまでif文のご紹介をいたしましたが、実は条件分岐処理はif文以外の記載方法もあります。三項演算子と呼ばれる書き方を用いると表現が可能です。基本的な書き方は以下の通りです。

<?php
  条件 ? 条件がtrueの時の処理 : 条件がfalseの時の処理 ;
?>

条件を書き終えたら「?(半角クエスチョン)」で区切り、?の後に条件がtrueの処理を書きます。その次に「:(半角コロン)」で区切り、:の後に条件がfalseの時の処理を書きます。具体例を見ていきましょう。

<?php
$score = 62;
$score > 60 ? print('試験に合格しました') : print('残念ながら不合格です') ;
?>

この場合、「試験に合格しました」が表示されます。条件がtrueなので、? から : までの処理が実行されます。


この三項演算子、コード量が少なくなるメリットがありますが、書き方によってはコードが理解しづらくなるデメリットもあります。あとから自分が見直した時や、他の人が見てもわかりやすいコードを心がけて、適切にコードを書きましょう。

まとめ

いかがでしたでしょうか。今回はPHPの条件分岐について紹介いたしました。具体的には以下の9つをご紹介いたしました。

  1. 条件分岐
  2. 条件分岐の作成方法
  3. if文の条件に関して(true/false)
  4. 条件式がfalseでの処理(! ビックリマーク・エクスクラメーションマーク)
  5. 条件がtrue/falseでの処理(else)
  6. 3つ以上の条件分岐(else if(){}else{})
  7. 複数条件(if文の入れ子・ネスト)
  8. 複数条件(かつ(&&)、または(||))
  9. if文を1行で書く(三項演算子 ?と:)

今回もかなり盛りだくさんでしたね。プログラミングは1回で覚えようとせず、繰り返し使用しながら馴染ませていってください。

この条件分岐もあらゆるところで使用することが可能です。例えば「会員制のアプリケーションを起動した時に、会員登録が終わっていない方は登録ページに飛ばす」と言ったようなプログラミングにも、今回の条件分岐が扱われております。

次回は繰り返しについて説明します。こちらも今回の条件分岐と同じく、開発に必須で非常に重要な回となりますので、ぜひご覧ください。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part7〜配列について理解しよう〜

前回はPHPのプログラムのデータ型について大まかに説明いたしました。今回はデータ型の中の「配列」に特化して説明いたします。

配列型とは

配列型とは複数の値をまとめて格納できる型となります。配列は英語で「array」という単語になります。PHPの配列を使う場合、このarrayという文字が頻繁に出てきます。

配列の作成方法

PHPの場合、配列の作成方法は大きく以下の3つがあります。

  1. array()を用いる
  2. 短縮構文[]を用いる
  3. $変数名[] = ‘値’;を用いる

それぞれ説明していきます。

array()

配列の最も基本的な書き方となります。PHPに組み込まれているarray()を使います。array()の括弧の中に値を格納していきます。複数の値を格納する場合「,(カンマ)」を用いて値を区切ります。作成した配列は、代入演算子を用いて変数や定数に代入していきます。

$values = array(
'値1',
'値2',
'値3',
);
print_r($values); //print_r()で配列の値の呼び出し
// Array(
// [0] => 値1
// [1] => 値2
// [2] => 値3
// )

作成した配列は、中の要素(上記の値1、値2、値3)を取り出すことも可能です。特に指定した名称(キー)をつけない場合、配列の要素(中身)に関しては0からカウントします。取り出し方法の詳細に関しては「配列のキー」で説明いたします。例えば「値2」を取り出したい場合、以下の様に記述します。

print_r($values[1]); // 値2

短縮構文[]

次に短縮構文の[]について説明します。と言っても、こちらは先に紹介したarray()を[]で書き換えた形になります。具体的な書き方は下記の通りです。

$values = ['値1' , '値2' , '値3' ,];
print_r($values);
// Array(
// [0] => 値1
// [1] => 値2
// [2] => 値3
// )
print_r($values[2]); // 値3

$変数名[] = ‘値’; を用いる

最後に$変数名[]について説明いたします。こちらは変数名の後ろに[]をつけることで、変数に対し後ろから値を格納していくことができます。

$fruits[] = 'apple';
$fruits[] = 'banana';
$fruits[] = 'orange';
print_r($fruits);
// Array(
// [0] => apple
// [1] => banana
// [2] => orange
// )
print_r($fruits[0]); // apple

配列のキー(key)

配列のキーは、配列の添字(インデックス)や連想配列のキー(後述)を指します。キーには整数と文字列を使用することができます。配列にキーを指定した場合は、そのキーを用いることでキーに対応する要素を選択することができます。書き方としては、$変数名[キー(要素番号・要素名)]と言った書き方となります。
今回はキーに[‘name’] [‘gender’] [‘age’] [‘address’]を設定してみます。

$member['name'] = '太郎';
$member['gender'] = '男性';
$member['age'] = '20';
$member['address'] = '東京都';
print_r($member);
// Array(
// [name] => 太郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// )

配列の中の特定の値を取り出したい場合、配列名(変数)の後ろに[](角括弧・ブラケット)をつけ、その中身にキーを入力します。例えば今回、太郎さんのage(年齢)である「20」を取り出したかった場合、$member[‘age’]とすることで、「20」にアクセスできます。

print_r($member['name']); // 太郎
print_r($member['gender']); // 男性
print_r($member['age']); // 20
print_r($member['address']); // 東京都

キーは省略することも可能です。省略した場合、整数のキーが自動で付与されます。付与されるキーは、既にキーが存在する場合は、キーに付与されている数字の次の数字があてがわれます。キーが存在しない場合、[0]からキーが付与されます。
ちなみにこのキーは、既に使用されているキーを再度使用すると、既に使用されているキーの値が変更されてしまうため、注意が必要です。逆に意図的に変更したい場合(例えばユーザーから入力された情報をもとにデータを上書きする場合など)は、配列のキーを指定して値を代入していく手段が使われます。

$member['name'] = '太郎';
$member['gender'] = '男性';
$member['age'] = '20';
$member['address'] = '東京都';
$member['name'] = '次郎'; //←キー['name']に'次郎'を代入(太郎を上書き)
$member[] = '大学生';
$member[] = '経済学部';
$member[1] = '商学部'; //←キー[1]に'商学部'を代入(経済学部を上書き)
print_r($member);
// Array(
// [name] => 次郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// [0] => 大学生
// [1] => 商学部
// )

配列の初期化

配列の初期化方法ですが、方法としては下記の2つがあります。

  1. $変数名 = array();
  2. $変数名 = [];

変数名に空の配列を代入しています。

$Array1 = array(); //1.の空配列を作成
$Array2 = []; //2.の空配列を作成
print_r($Array1);
// Array( ) //1.の出力結果
print_r($Array2);
// Array( ) //2.の出力結果

連想配列とは

連想配列はキーで配列の要素を指定できる配列のことを連想配列と呼びます。「 キー => 値 」という記法を用いて必要な数を ,(カンマ)で区切り、引数として渡します。先程の太郎さんの例を使うと以下のような書き方になります。

①array()を用いた場合

$taro = array(
'name' => '太郎',
'gender' => '男性',
'age' => 20,
'address' => '東京都',
);
print_r($taro);
// Array(
// [name] => 太郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// )
echo $taro[name]; //太郎

②短縮構文[]を用いた場合

$taro = [
'name' => '太郎' ,
'gender' => '男' ,
'age' => 20 ,
'address' => '東京都' ,
];
print_r($taro);
// Array(
// [name] => 太郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// );
echo $taro['gender']; //男性

③$変数名[‘キー’] = ‘値’;を用いた場合

$taro['name'] = '太郎';
$taro['gender'] = '男性';
$taro['age'] = 20;
$taro['address'] = '東京都';
print_r($taro);
// Array(
// [name] => 太郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// )
echo $taro['address']; //東京都

多次元配列とは

多次元配列は配列の中に、さらに配列が入っている状態の配列のことを多次元配列と呼びます。複数の情報を、複数にまたがって保有したい場合などに用います。実際の使い方を、短縮型とarray()型(及びキー)を例に説明いたします。

$members = [
['花子' , "女性" , 22 ],
['太郎' , "男性" , 20 ],
['幸子' , "女性" , 24],
];
echo $members[0][0] . 'さんは' . $members[0][1] . 'で' . $members[0][2] . '歳です。';
// 花子さんは女性で22歳です。
echo $members[1][0] . 'さんは' . $members[1][1] . 'で' . $members[1][2] . '歳です。';
// 太郎さんは男性で28歳です。
echo $members[2][0] . 'さんは' . $members[2][1] . 'で' . $members[2][2] . '歳です。';
// 幸子さん女性で24歳です。

$members2 = array(
array(
'name' => 'ポチ',
'gender' => 'オス',
'age' => '5',
),
array(
'name' => 'タマ',
'gender' => 'メス',
'age' => '3',
),
);
echo $members2[0]['name'] . 'は' . $members2[0]['gender'] . 'で' . $members2[0]['age'] . '歳です。';
//ポチはオスで5歳です。
echo $members2[1]['name'] . 'は' . $members2[1]['gender'] . 'で' . $members2[1]['age'] . '歳です。';
//タマはメスで3歳です。

配列の操作

配列の操作に関してもいくつか方法があります。具体的には下記の通りです。

  1. 1 配列の要素の追加
  2. 2 配列の要素の削除
  3. 3 配列の要素の変更
  4. 4 配列同士の結合

配列の要素の追加

配列に要素を追加する場合、大きく5つの方法があります。

  1. 1 array_push()の使用
  2. 2 []の使用
  3. 3 array_merge() の使用
  4. 4 array_unshift()の使用
  5. 5 +演算子の使用

array_push()の使用

array_push関数は1つ以上の要素を、配列の最後に追加する関数です。arrya_push関数は、関数に使用した元の配列を変更します(元の配列に追加されます)。1つだけ要素を追加することも可能ですが、1つだけ追加する場合は次に説明する[]を使用した方が関数を呼び出す負荷(オーバーヘッド)が減ります。

$fruits = ['りんご' , 'バナナ' , 'みかん' ,];
array_push($fruits , 'ぶどう' , 'もも');
print_r($fruits);
// Array(
// [0] => りんご
// [1] => バナナ
// [2] => みかん
// [3] => ぶどう
// [4] => もも
// )//元配列の$fruitsに’ぶどう’と’もも’が追加された
$sports = ['野球' , 'サッカー' , 'バレーボール' ,];
array_push($sports , ['陸上' , '水泳' ,] , ['フィギュアスケート' , 'スピードスケート' ,]);
print_r($sports);
// Array(
// [0] => 野球
// [1] => サッカー
// [2] => バレーボール
// [3] => Array(
// [0] => 陸上
// [1] => 水泳
// )
// [4] => Array(
// [0] => フィギュアスケート
// [1] => スピードスケート
// )
// )//元配列の$sportsの[3]と[4]に[‘陸上’ , ‘水泳’]と[‘フィギュアスケート’ , ‘スピードスケート’]が追加されました。

[]の使用

[]の使用は、$変数名[] = ‘値’;のところで説明した内容と重複します。変数に対し、後ろから値を格納していきます。

array_merge()の使用

array_merge関数は、merge元の配列と結合する配列を指定することで、配列同士を結合します。array_merge関数は、元の配列を変更しません。

$fruits1 = [‘りんご’ , ‘ばなな’ , ‘みかん’];
$fruits2 = array_merge($fruits1 , [‘ぶどう’ , ‘もも’]);
$print_r($fruits1);
$print_r($fruits2);
// Array (
// [0] => りんご
// [1] => ばなな
// [2] => みかん
// ) 元の配列は変更しない
// Array (
// [0] => りんご
// [1] => ばなな
// [2] => みかん
// [3] => ぶどう
// [4] => もも
// ) //’ぶどう’と’もも’が追加された

array_unshift()の使用

array_unshift関数は、1つ以上の要素を配列の先頭に加えます。array_unshift関数は、関数に使用した元の配列を変更します(元の配列に追加されます)。

$fruits1 = [‘りんご’,’ばなな’,’みかん’];
array_unshift($fruits1 , ‘ぶどう’ , ‘もも’);
print_r($fruits1);
// Array (
// [0] => ぶどう
// [1] => もも
// [2] => りんご
// [3] => ばなな
// [4] => みかん
// ) //元の配列$fruits1の先頭に’ぶどう’と’もも’が追加された

+演算子の使用

+演算子に関しては、連想配列で使用可能です。キーと値を指定している場合、+演算子を用いて配列に値を追加していくことが可能です。+演算子では、元の配列を変更しません。

$array1 = [‘りんご’,’ばなな’,’みかん’];
$array2 = $array1 + [3 => ‘ぶどう’];
$array3 = $array1 + [‘もも’];
print_r($array1);
print_r($array2);
print_r($array3);
// Array (
// [0] => りんご
// [1] => ばなな
// [2] => みかん
// ) //元の配列は変更されない
// Array (
// [0] => りんご
// [1] => ばなな
// [2] => みかん
// [3] => ぶどう
// ) //ぶどうが追加された
// Array (
// [0] => りんご
// [1] => ばなな
// [2] => みかん
// ) //キーを指定していない’もも’は追加されない

配列の要素の削除

配列から要素を削除する方法は、大きく4つの方法があります。

  1. unset()の使用
  2. array_splice()の使用
  3. array_shift()の使用
  4. array_pop()の使用

unset()の使用

unset関数は、配列の要素を削除します。キーを指定しない場合、要素の全てを削除します。また、要素のキーを指定して削除した場合、そのキーは歯抜けの状態となります。unset()関数は元の配列を変更します。

$array1 = ['りんご','ばなな','みかん'];
unset($array1);
print_r($array1);
// NULL
$array1 = ['りんご','ばなな','みかん'];
unset($array1[1]);
print_r($array1);
// Array (
// [0] => りんご
// [2] => みかん
// ) //[1] => ばなな が削除され、歯抜けの状態になった([2] => みかん は [1] => みかん に変更されない)

余談ですが、arrayを連番にしたい場合、array_values関数を用います。

$array1 = ['りんご','ばなな','みかん'];
unset($array1[1]);
$array1 = array_values($array1);
print_r($array1);
// Array (
// [0] => りんご
// [1] => みかん
// )

array_splice()の使用

array_splice関数は、指定した位置から配列の要素を削除します。array_splice関数は、元の配列を書き換えます。オプションを追加することで、削除する配列の要素数・削除した後に置換する要素を指定することもできます。書き方としては下記の通りとなります。
array_splice( 配列 , 配列の要素の削除開始位置 , [ , 削除する配列の要素数 [ , 置き換える要素 ] ]);

$array1 = ['りんご','ばなな','みかん'];
array_splice($array1 , 1);
print_r($array1);
// Array ( [0] => りんご ) // ‘ばなな’と’みかん’が元の配列から削除された

$array1 = ['りんご','ばなな','みかん'];
array_splice($array1 , 1 , 1);
// Array (
// [0] => りんご
// [1] => みかん
// ) //配列の1番目(削除開始位置)から1つの要素(ばなな)を削除

$array1 = ['りんご','ばなな','みかん'];
array_splice($array1 , 1 , 1 , ['ぶどう' , 'もも']);
print_r($array1);
// Array (
// [0] => りんご
// [1] => ぶどう
// [2] => もも
// [3] => みかん
// ) //配列の1番目(削除開始位置)から1つの要素(ばなな)を削除し、削除した箇所を’ぶどう’と’もも’で置換しました。

array_shift()の使用

array_shift関数は、配列の先頭の要素を削除する関数です。array_shift関数は、元の配列を変更します。array_shift(配列);で使うことができます。

$array1 = ['りんご','ばなな','みかん'];
array_shift($array1);
print_r($array1);
//Array (
// [0] => ばなな
// [1] => みかん ) // 配列の先頭の’りんご’が元の配列から削除された

array_pop()の使用

array_pop関数は、配列の最後尾の要素を削除する関数です。
array_pop関数は、元の配列を変更します。array_pop(配列);で使うとこが可能です。

$array1 = ['りんご','ばなな','みかん'];
array_pop($array1);
print_r($array1);
// Array (
// [0] => りんご
// [1] => ばなな
// ) //配列の最後尾の’みかん’が配列から削除された

配列の要素の変更

配列の要素を変更する方法は、大きく2つ方法があります。

  1. 1 要素のキーを指定して再代入する
  2. 2 allay_replace()の使用

要素のキーを指定して再代入する

今までの説明でも出てきましたが、連想配列を用いて既出の要素のキーを指定して変数を格納することで、配列の要素を変更できます。

$member['name'] = '太郎';
$member['gender'] = '男性';
$member['age'] = 20;
$member['address'] = '東京都';
print_r($member);
// Array (
// [name] => 太郎
// [gender] => 男性
// [age] => 20
// [address] => 東京都
// )
$member['age'] = 30; //ageに30を再代入
$member['address'] = '新宿区'; //addressに’新宿区’を再代入
print_r($member);
// Array (
// [name] => 太郎
// [gender] => 男性
// [age] => 30
// [address] => 新宿区
// ) //ageとaddressが変更された

array_replace()の使用

array_replace関数は、渡された配列の要素を置き換えます。array_replace関数は元の配列を書き換えません。書き方は以下の通りとなります。
array_replace(配列 , 置き換えたい要素を含む配列);

$member1 = [
'name' => '太郎',
'gender' => '男性',
'age' => 20,
'address' => '東京都',
];
$replace1 = [
'address' => '千葉県',
'age' => 25,
];
$replace2 = [
'name' => '次郎',
'address' => '神奈川県',
];
$member2 = array_replace($member1 , $replace1, $replace2);
print_r($member1);
print_r($member2);

// Array ( [name] => 太郎 [gender] => 男性 [age] => 20 [address] => 東京都 )
// Array ( [name] => 次郎 [gender] => 男性 [age] => 25 [address] => 神奈川県 )

配列同士の結合

  1. 1 array_merge()の使用
  2. 2 array_push()の使用
  3. 3 +演算子の使用

いずれも配列の要素の追加で説明した内容と同じです。

まとめ

いかがでしたでしょうか。今回はPHPの配列について紹介いたしました。具体的には以下の7つをご紹介いたしました。

  1. PHPの配列型とは
  2. 配列の作成方法
  3. 配列のキー
  4. 配列の初期化
  5. 連想配列
  6. 多次元配列
  7. 配列の操作(追加・削除・変更・結合)

今回の内容はかなり多数に渡りました。正直1回で理解することは難しいかもしれません。ただ、配列を理解するとプログラミングで実行できる範囲がかなり広がります。今回ご覧いただいた内容は、ぜひ理解して今後のプログラミングに活用してください。次回は条件分岐について説明します。非常に重要な回となりますので、ぜひご覧ください。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part6〜データ型を理解しよう〜

前回は自分で書いたPHPのプログラムをブラウザに表示させるところまで実行しました。今回は、プログラミングのデータ型について説明していきます。

「データ型」とは何か

それではさっそく「データ型」について紹介していきます。
プログラミングにおける「データ型」とは、扱うデータをいくつかの種類に分類して、各々について「名称」「特性」「範囲」「扱い方」「表記方法」「メモリ上での記録方法」などの、規約を定めたものです。扱うデータを分類することで、分類したデータを適切に管理したり、希望するデータを探しやすくなるメリットがあります。
例えば「電話番号の入力欄」に文字や小数点が入っていたら、適切な管理ができなくなるかと思います。11桁(+81から始まる場合はもう2桁増えます)の整数が入っている必要がありますね。この様な条件を指定するためにも、データ型は役に立ちます。
主なデータ型として、今回は以下の7つをご紹介いたします。

  • 整数型(integer)
  • 浮動小数点数型(float)
  • 文字列型(string)
  • 論理型(bool、boolean)
  • 配列型(array)
  • オブジェクト型(object)
  • NULL型(null)

整数型(integer)とは

一番なじみやすいデータ型として、最初に整数型(integer)を紹介します。
整数型は「…、-4、-3、-2、-1、0、1、2、3、4、…」と「正の整数」「負の整数」「0」が該当します。
余談ですが、このinteger(整数)という単語…筆者は「高校数学で学習した積分のインテグラル(∮:integral)と発音が似てるな…」と感じていました。
調べてみたところ、いずれも語源は同じ様でして、ラテン語の integr-(完全な)から来ている様です。

浮動小数点数型(float)とは

「少数点以下の数を含む数」がこちらに該当します。
具体的には「1.3、20.67」などの小数点を含む数字が該当します。
ちなみに、PHPでは少数の取り扱いがあまり得意ではありません。というのも、少数に用意されている桁数に限りがあるためです。
例えば「0.333333…」の様な無限小数は管理しきれません。また、小数同士の計算を重ねていくと細かい誤差が出てきます。
桁数が決まっている少数の計算の場合、先に整数(例えば1,000倍にするなど)に変換して計算を行なってから、実際の小数に計算しなおす(計算の最後に1/1,000にする)などの工夫が必要です。

文字列型(string)とは

「文字、または文字が連結されたもの」をさします。文字列型を使う場合「'(シングルクォート)」または「"(ダブルクォート)」で囲います。
以前Part4でご紹介した、"山田太郎" "山田花子"などが文字列にあたります。ちなみに、整数型や不動小数点数型も「'」や「"」で囲うと文字列型になります。

論理型(bool、boolean)とは

型としては最も選択肢の少ない簡単な型ともいえます。論理型は真偽の値を表します。つまり「true(真)」または「false(偽)」のどちらかになります。
この論理型はプログラミングにおいて重要な「条件分岐」においてよく使われます。「ある条件が当てはまるときはA、そうでない場合はB」と言ったものですね。
代表的なものでif文があります。「もし〜なら○○」というやつですね(この様な文章は普段の会話ではあまり使わないかもしれませんが…)。
例えば「(今日は)疲れたから、帰りの交通手段にタクシーを使おう」も条件分岐に当てはまります。
疲れた = true(疲れている) → タクシーを使う
疲れた = false(疲れていない)→タクシーを使わない(歩いて帰るなど)
の様な感じですね。
この論理演算子ですが、true・falseとファイル内にベタ打ちしても判定されますが、条件が合致しているか否かでも判定されます。
詳細は別の機会に紹介しますが、以下に例をご案内いたします。

$haveMoney = 160;
if($haveMoney >= 140){
 echo "ペットボトルの飲み物が買えます!";
}

この場合、$haveMoneyに160が代入されています。$haveMoney >= 140はtrue(160>=140なので正しい)です。したがって、if($haveMoney >= 140)の部分はif(true)と同じ意味になります。
上記のif文は()内の条件がtrueの時に{}内の処理を実行しますので、”ペットボトルの飲み物が買えます!”が呼び出されます。
boolに変換する場合、trueとfalseは以下の条件となります。

【false(条件が少ないのでこちらから記載します)】

  • booleanのfalse
  • 数値(integer)の0
  • 浮動小数点数(float)の0.0、-0.0
  • 文字列(string)の”0″
  • 文字列(string)の空文字列の””
  • 配列型の要素の数が0のもの
    (配列型は後述しますが、複数の値をまとめて格納できます)
  • NULL
    (NULLは後述しますが、変数が値を持たない状態です)
  • 属性がない空要素から作成されたSimpleXMLオブジェクト
    (こちら詳細は今回割愛いたします)

【true】

  • 上記以外の全て(負の数字、NAN(Not a Number)も含みます)

配列型(array)とは

配列型は複数の値をまとめて格納できる型となります。配列はarray()[](ブラケット:角括弧)で表現されます。
基本的に変数を宣言した場合、格納される値は1つになります。一方配列型の場合、複数の値をまとめて1つの値として格納が可能となります。
具体的には下記の通りになります。

//①変数の基本形(リテラル型)
$member1 = "値1";
$member2 = "値2";
$member3 = "値3";

//②変数の配列型
$members = array("値1" , "値2" , "値3");
//$members = array(
// 0 => "値1" , //キーを0に指定
// 1 => "値2" , //キーを1に指定
// 2 => "値3" , //キーを2に指定
//);も同じ。
//$members = ["値1" , "値2" , "値3"];も同じ。[]で囲った場合、短縮公文になります。

//③配列型で作成した値の呼び出し
echo $members[0] // "値1"と表示される。
echo $members[1] // "値2"と表示される。
echo $members[2] // "値3"と表示される。

上記の通り、通常変数を定義する場合、変数の数だけ変数を宣言する必要があります①。一方、配列型を用いると、複数の値を1つの変数に格納できます②。そして配列型で作成した値を呼び出すには、配列のどこに格納されているかを指定する必要があります③。
ちなみにarray()および[]の中身の順番(index)に関してですが、特にキー(値に紐づいた名前)を指定しなかった場合、indexは0からスタートします。
配列に関しては他にも「連想配列」や「多次元配列」など、実践的な使い方が数多く存在します。今回は初歩的な部分の紹介に留め、詳しいことは次のブログ記事で解説いたします。

オブジェクト型(object)とは

オブジェクト型はデータ構造(プロパティ)と処理系(メソッド:関数)がまとまった型となります。このオブジェクト型を用いることで、機能毎のまとまりができるため、保守性・柔軟性・可読性などが向上します。
このオブジェクト型を理解するには、先に「関数」についても理解する必要があります。関数のご紹介はまた他の記事で実施し、今回はオブジェクトの大枠をざっくりとご紹介をいたします。
オブジェクト型を使用するには、いくつかの手順を踏む必要があります。

  • 最初に「クラス(class)」を定義する
  • 定義したクラス内に、必要なプロパティ(クラス内の変数)とメソッド(クラス内の関数)を定義する
  • 定義したクラスを基に、オブジェクトを生成する(インスタンスの生成)
  • オブジェクトを生成した後に、クラスで定義したプロパティやメソッドを呼び出す

この様な手順となります。具体例は以下の通りとなります。

<?php
//最初にクラスを定義する
class Human{
//プロパティの定義(実際の名前は後で設定するため、一旦値は空です)
public $name;
//メソッドの定義(メソッド内でプロパティを$this->nameを使って呼び出しています)
public function greet()
{
echo "こんにちは。私の名前は『" . $this->name . "』です!";
}
} //ここまでがクラスの定義

//クラスからインスタンスを生成する。
$ yamada = new Human();
//インスタンスの$nameプロパティに名前を設定する。
$ yamada->name = "山田 太郎";
//インスタンスのgreet()メソッドを呼び出す。
$ yamada->greet(); // ==> こんにちは。私の名前は『山田 太郎』です!

今回はHumanクラスを作成し、プロパティ(変数)に$name、メソッド(関数)にgreet()を用意しました。
急に難しくなりましたね…順を追って説明します。


class Human{

ここではclassを定義しています。

public 「アクセス修飾子」と呼ばれるものです。どこからプロパティやメソッドにアクセスできるかを表します。public,protected,privateなどがあります。今回は、外部からアクセスできるpublicを使用しています。外部からアクセスできないようにするにはprotectedやprivateを用います。

$name プロパティ(クラス内の変数)です。必要に応じて後から変更できるよう、初期値は設定せず、変数宣言のみ実行しています。後で出てくる$yamada ->name = “山田 太郎”で、インスタンス化(後述参照)された$nameに値を設定しています。

public function greet(){...}

メソッド(クラス内の関数)です。ここでは「こんにちは。私の名前は『〇〇』です!」とechoされるメソッドを用意しました。

$this->name

擬似変数$thisからnameプロパティにアクセスしています。

.(ドット) 結合演算子です。.(ドット)の左側と右側を結合します。
ここまででクラスの定義が完了しています。

$yamada = new Human();

インスタンスを生成しています。
実はクラスというものは、定義するだけでは使用できません。
今回のように、$yamadaに対しnew演算子を用いてHumanクラスをインスタンス化した様に、インスタンスを生成する必要があります。

$yamada->name = "山田 太郎";

生成したインスタンスのnameプロパティに”山田 太郎”を代入しています。

$yamada->greet();

生成したインスタンスからメソッドを呼び出しています。事前に$yamada->name = "山田 太郎";でnameプロパティに”山田 太郎”を代入したので、メソッドを呼び出した際は$this->name;に”山田 太郎”が代入されます。したがって、メソッドが呼び出された際は
「こんにちは。私の名前は『山田 太郎』です!」
と表示されます。
大まかではありますが、オブジェクト型はデータ構造と処理系がまとまった型であることのご紹介をいたしました。

NULL型(null)とは

NULL型は「変数が値を持たない状態」を表す特殊な型です。具体的には以下の3つの状態が該当します。

  • 定数のNULLが代入されている。
  • 変数に値が代入されていない。
  • 変数がunset()されている。

順を追って説明します。
「定数のNULLが代入されている」とは、変数に定数のNULLを代入している状態です。
次の「変数に値が代入されていない」とは、変数の宣言は行っているものの値が代入されていない状態を指します。
最後の「変数がunset()されている」とは、変数宣言を行い値を代入した後に、変数の割り当てを削除した状態です。各々以下の通りとなります。

<?php
$value1 = NULL; //定数NULLを代入しています
$value2 = ; //変数に値が代入されていません
$value3 = 3; //変数に3を代入しています

echo $value1; //何も出力されません
echo $value2; //何も出力されません
echo $value3; //3

unset($value3); //変数をunset()関数で$value3の変数の割り当てを削除しました

echo $value3; //今度は何も出力されません

この様に、変数が値を持たない状態がNULL型に該当いたします。

まとめ

いかがでしたでしょうか。
今回はPHPでの型について紹介いたしました。
次回はPHPでの配列について、より詳しく紹介していきます。
非エンジニアでも知らないとヤバイ Part7〜配列の紹介〜に移動する。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part5〜ブロック・変数・定数・代入演算子を理解しよう〜

前回はテキストエディタと開発環境を用意して、自分が書いたコードをブラウザに表示するところまで実施しました。
今回はPHPにおけるPHPブロック・変数・定数・代入演算子をご紹介していきます。
PHPを用いたブラウザでの表示方法がまだわからない方は、
非エンジニアでも知らないとヤバイPHP Part4〜ブラウザに表示してみよう〜
も合わせてご覧ください。

PHPブロックとは

PHPブロックは「ここからここまではPHPとして扱いますよ」と範囲を指定した部分をさします。具体的には
<?php』が開始タグ
?>』が終了タグ
となります。PHPはHTMLに組み込まれることを前提とした言語になっていますので、「ここがPHPだよ!」ということを明示してあげる必要があります。この開始タグ〜終了タグの内部はPHPとして処理され、タグの外部はPHPとしては処理されずに通常の文字列として出力されます。
Part4でご紹介した内容では、以下のコメント部分がPHPブロックに該当します。

<?php//ここからPHPブロックが開始。
$name1 = "山田太郎";
$name2 = "山田花子";
?> //ここまでがPHPブロックです。

<p>
<?php //ここからPHPブロックが開始します
echo "pタグ内に、phpのechoを使って文字を追加する";
?> //ここまでがPHPブロックです
</p>

この様に、『<?php』の開始タグと『?>』の終了タグで囲うことでPHPとして処理されます。PHPを扱う時は、上記の様に開始タグと終了タグを用いて「ここがPHPだよ!」と明示してあげる必要があることをご理解ください。

変数・定数とは

変数・定数と聞いて、最初に思い浮かぶのはなんでしょうか…筆者は中学から始まった数学(苦手な方も多かったのではないでしょうか)を思い出しました。

y = x + 1

といった数式を通して、変数・定数という概念に触れた方は多いと思います。基本的には、この数学で使われていた概念に近いものとなります。
PHPで扱う変数も定数も、「ある値を一定期間保管する、名前がついた領域・保管場所」という認識でご理解ください。よく参考書などでは「箱」といった概念を用いられることがありますが、値を格納したり(PHPでは『代入』と表現します)、取り出したり、格納する値を変更したりすることが可能となります。

代入演算子とは

変数・定数のご紹介に入る前に、代入演算子をご紹介いたします。『=』この記号が代入演算子の基本となります。この記号を見ると「左辺と右辺が等しい(イコール)」といった意味が最初に浮かんでくると思います。数学の場合はそれで正しいのですが、PHPの場合では少し意味合いが異なります。
PHPでの『=(代入演算子)』は「『=』の左オペランドに『=』の右オペランドを格納(代入)する」という意味合いになります。ここで急に「オペランド」という聞き慣れない単語が出てきたかと思います。オペランドとは「演算の対象となる値や変数」を指します。
したがって、代入演算子は「=の左側の値に=の右側の値を格納(代入)する」演算子になります。代入する値は右側であることを覚えておいてください。

変数とは

ものは試しということで、さっそく変数の具体例をご紹介します。上の2行に書かれた部分が変数に該当します。

<?php
$name1 = "山田太郎";
$name2 = "山田花子";
echo $name1; // 「山田太郎」が出力されます
echo $name2; // 「山田花子」が出力されます
?>

PHPの変数は『$』のドル記号から書き始めます。つまり『$name1』は「name1という名前の変数を用意する」ことを意味しています。『=』は代入演算子でしたね。左の値に右の値を格納します。次に『”山田太郎”』は変数に格納する値の文字列となります。最後の『;(セミコロン)』は区切り文となります。文の終わりには必ずつけてください。

したがって、『$name1 = "山田太郎";』は「変数name1に山田太郎という文字列を代入する(区切り文)」という意味になります。

PHPの変数にはいくつかルールがあります。

  • ・最初に『$』をつける
  • ・変数の名前に使用できるのは、半角英数字と_(アンダースコア)
  • ・大文字と小文字は区別される
  • (例:$Name、$nameは別の変数として扱われる)
  • ・『$』の直後に数字は使えない
  • (例:◯$name2、$_name3、×$3name)
  • ・thisを変数名に使用することは推奨していない
  • ($thisは擬似変数といって、PHPでは別の変数に既に使用されています)
  • ・再代入が可能

再代入に関して説明します。以下のコードをご覧ください。

<?php
$number = 1;
$number = $number + 4;
?>

こちらを見て違和感を感じたのではないでしょうか。筆者も最初は違和感を感じました。

$number = $number + 4 ;

って「左辺と右辺イコールじゃないじゃん!」と。ここで先ほど説明した「代入演算子」「=」についてもう一度思い出していただきます。代入演算子は「=の左側の値に=の右側の値を格納(代入)する」でしたね。先ほどのコードに説明を加えると以下の様になります。

<?php //phpの開始タグ
$number = 1; //$number に 1 を代入する。
$number = $number + 4 ;
//新たな変数$numberに、最初に定義した変数$number(1が代入済)と4を足したものを再定義する
//$numberに代入されている数字は(1+4)で5となる。
?> //phpの終了タグ

上記の様になります。つまり

$number = $number + 4;

$number = 1 + 4;//定義済みの$number = 1;

となり、$number = 5;となります。再度$numberに5が代入されているので、「再代入」となります。

定数とは

先ほど数学の式を紹介したかと思います。

y = x + 1

定数は上記式で言うところの「1」に該当します。変化しない数ですね。PHPにおける定数も、定義したあとは基本的に変更することがない値を定数に格納していきます。PHPの定数に関してもいくつかルールがあります。

  • ・最初にdefine()と宣言する。
  • ・define()の中に、「定義したい定数の名前」と「格納したい値」を記載する
  • (例:define(NAME , “山田 太郎”);)
  • ・定数名は慣習的に全て大文字で定義する
  • ・定数の名前に使用できるのは、半角英数字と_(アンダースコア)
  • ・定数名の最初に数字は使えない
  • ・大文字と小文字は区別される
  • ・定数は再定義、再代入ができない
  • (先に定義した定数の値が使用される)

となります。コードで確認していきましょう。

<?php
define(NAME , "鈴木一郎");
echo NAME ; // 「鈴木一郎」が出力されます。
define(NAME , "田中さん"); //既にNAMEが定義されているため、再定義はできません。
echo NAME ; // 先に定義している「鈴木一郎」が出力されます。
?>

まとめ

いかがでしたでしょうか。今回はPHPでのPHPブロック・変数・定数・代入演算子をご紹介いたしました。次回はPHPにおけるデータ型を紹介していきます。
非エンジニアでも知らないとヤバイ Part6〜データ型を理解しよう〜に移動する。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part4〜ブラウザに表示してみよう〜

前回はPHPの学習に必要なテキストエディタについてお話ししました。
今回はいよいよ実際に自分でプログラムを書いて、自分が書いたコードをブラウザに表示させていきましょう!
PHPのプログラミングに必要な事前準備(環境設定、テキストエディタの用意)がわからない方は
非エンジニアでも知らないとヤバイPHP Part2〜環境設定の実施〜
非エンジニアでも知らないとヤバイPHP Part3〜テキストエディタの紹介〜
も合わせてご覧ください。

使用するフォルダ(ディレクトリ)とファイルを用意しよう

それでは実際にコードを書いていく準備を進めていきましょう。
PHPはサーバーサイドで動くプログラミング言語のため、ローカルの設定を用意するんでしたね。途中まではPart2で紹介しましたので、次はコードを書くためのフォルダとファイルを用意していきます。
MAMPを使ってローカル設定を行う場合、フォルダとファイルを所定の場所に用意する必要があります。その場所ですが

アプリケーションMAMPhtdocs

となります(下図参照:MAMPをインストールすると、「お読みください.rtf」も同時にインストールされますが、こちらにも同様のことが書かれています)。ここにフォルダやファイルを作成していきます。

今回は、htdocsフォルダ内にphp-testフォルダ(ディレクトリ )を作成し、その中にindex.phpファイルを作成していきます。

コードを書いて、表示させるための準備を整えよう

もう少し準備を進めていきます。

  • ・まずはご自身のテキストエディタを開きます。
  • (筆者はVisual Studio Codeを使用しています)
  • ・次に、先ほど作成したphp-testフォルダ(ディレクトリ )をテキストエディタ上に設定いたします。
  • (筆者の場合、php-testフォルダをVisual Studio Codeにドラック&ドロップします)
  • ・アプリケーションMAMPhtdocsphp-testフォルダ(ディレクトリ)にindex.phpを作成します。
  • ・htmlの雛形を作成します。
  • ・ローカルサーバーに接続したか確認するために、<body></body>タグ内に
  • <h1>phpのテスト</h1> を用意します。

ここまで用意できましたら、下記の画面の様になっているかと思います。

図:テキストエディタでのテストデータ

ローカルサーバーに接続し、ブラウザに表示させてみよう

続いて、ローカルサーバーを立ち上げてブラウザに表示させてみましょう。
Part2でサーバーの起動までを実施したかと思います。サーバー起動後にphpファイルをブラウザに表示させるところまでを、ここでは行なっていきます。
htmlファイルの場合、ファイルをブラウザにドラッグ&ドロップすればファイルの表示ができたかと思います。一方phpファイルでは、ただファイルをドラック&ドロップするだけではブラウザに期待する画面が表示されません。
phpファイルサーバーが起動されている状態で、以下のパスをブラウザのアドレスバーに入力してみてください。

http://localhost:8888/php-test/index.php

以下の画面の様に先ほど<h1>タグ内に入力した「phpのテスト」が表示されていれば成功です。

図:アドレスバーに「http://localhost:8888/php-test/index.php」を入力

これでローカルサーバーを用いたブラウザでの表示ができました。

PHPのコードを書いて、実際に表示させてみよう①

それではいよいよ実際にコードを書いてブラウザに反映させていきます。
PHPの特徴として「htmlコードに部分的に記載できる」ことが挙げられます。先に作成したindex.phpファイルは、一見するとファイル内のコードはhtmlファイルと変わりがなかったかと思います。html内のコードにPHPのコードを追記することで、PHPのプログラムを実行することが可能となります。
では一緒にコードを書いていきましょう。
PHPコードの記述の基本ですが、「<?php ?>」このタグの間にコードを書き込んでいきます。もっと詳しく言うと「<?php」と「?>」の間にコードを書いていきます。以下のコードを追記してみましょう。

<p>pタグ内に文字を追記する(html内の記述)</p>
<p><?php echo "pタグ内に、phpのechoを使って文字を追加する" ;?></p>
<p><?php print("pタグ内に、phpのprint関数を使って文字を追加する") ;?></p>

PHP内に入力する今回の文章に関しては「"(ダブルクォーテーション)」をつけて囲ってください。また、終了部分には、「;(セミコロン)」を入力してください。
入力が完了すると、以下の様なコードになっているかと思います。

図:テキストエディタでのコードの編集

実際にブラウザに反映させるために、ブラウザを更新(ページを再読み込み)してみましょう。ブラウザ上の更新ボタンを押すか、Windowsの場合「F5(ファンクション5)」、Macの場合「command+R(す)」で更新できると思います。画面が以下の様に更新されたら成功です!

図:ブラウザ上でPHPのコードが反映されている状況


PHPでコードを記述して、実際にブラウザに表示させることができました!
おめでとうございます!!

ここで少し解説に移ります。今回<?php ?>内に記載した「echo」と「print()」に関しては、細かい違いはありますが、いずれも文字列を返却するものと一旦ご理解ください。
そして返却したい文字列に関しては「’(シングルクォーテーション)」または「”(ダブルクォーテーション)」で囲います。そして、文末の「;(セミコロン)」ですが、PHPの命令文の区切りとして用いられています。
もう少し追加してみましょう。先ほど入力したコードの下に以下のコードを追記します。

<p><?= “pタグ内にPHPのショートタグを使って文字を追加する”; ?></p>

図:ショートタグを使ったPHPコードの実装

追記できましたらブラウザを更新してみてください。こちらでも入力した文字列が表示されたかと思います。

図:ショートタグを使ったPHPコードの実装結果

今回PHPコードの開始に書かれている「<?=」という書き方ですが、ショートタグという記法になります。
意味合いとしては「<?php echo」と同じです。ショートタグでもPHPの記載は可能です。
この様な書き方も覚えておいてください。

PHPのコードを書いて、実際に表示させてみよう②

せっかくですので、もう少しプログラミングっぽく書いてみましょう!!
正直今のままですと「PHPでブラウザに表示できることはわかった…でもぶっちゃけhtmlで書いたほうが早いんじゃない?」と思われた方もいらっしゃると思います。
詳細は非エンジニアでも知らないとヤバイPHP Part6で説明しますが、今回は追加で変数という概念を用いてPHPコードを呼び出してみようと思います。
以下のコードをファイルの先頭行に追加してください。

<?php

$name1 = “山田太郎”;
$name2 = “山田花子”;

?>

次に、【実際に表示させてみよう①】で作成したpタグの次の行から、以下のコードを追記してみます。

<p><?php echo $name1 ;?></p>
<p><?= $name2 ;?></p>

テキストエディタの結果は以下の様になっているかと思います。

図:PHPでのコードの追加

ここまで作成できましたら、改めてブラウザを更新してみましょう。以下の様にブラウザ上で表示されていると思います。

図:変数の代入と呼び出し


先ほどファイルの3行目と4行目で記述した「山田太郎」と「山田花子」がそれぞれ、22行目と23行目に記載した

<?php echo $name1 ;?>
<?= $name2 ;?>

のところに表示されているかと思います。


この22行目と23行目では、それぞれの変数($name1、$name2)に格納した文字列(山田太郎、山田花子)を呼び出してPHPで表示していることになります。
この様に、PHPでは値を設定して呼び出したり、別のファイルから情報を読み込んで表示したり命令を実行したり、データベースに情報を格納したりと、様々なプログラムを実行することが可能になります。

まとめ

いかがでしたでしょうか?
今回はPHPで作成したコードを、ローカル環境を用いて実際にブラウザに表示させるところまでを学習しました。次回はPHPの「PHPブロック・変数・定数・代入演算子」についてお話していきます。
非エンジニアでも知らないとヤバイPHP Part5~ブロック・変数・定数・代入演算子を理解しよう~に移動する。

おまけ

今回の様に新しい情報が出てくると、わからないことに遭遇する機会が出てくると思います。その場合、まずは公式リファレンスをご参照ください。

PHPマニュアル

もちろん公式リファレンス以外でも、お使いのブラウザで調べたいことを検索すれば必要な情報を入手することは可能です。
また、公式リファレンスはややとっつきづらい印象があるかと思います(筆者も最初は避けていました)。
ただ、可能であれば早い段階から公式リファレンスに慣れておくことをお勧めいたします。情報としての信頼度が一番高いサイトとなっております。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part3〜テキストエディタの紹介〜

前回はPHPの学習に必要なローカル設定についてお話ししました。今回はプログラムを書くのに必要なテキストエディタについてお話をします。
PHPに必要なローカル設定が分からない方はこちらをご覧ください。

テキストエディタとは?

テキストエディタとは文字通り「テキストファイルを編集するソフト」のことです。
Windowsには メモ帳というソフトが付いているのですが、実はこれもテキストエディタになります。
メモ帳は、漢字・ひらがな・カタカナ・アルファベット・記号などテキストを入力できるのですが、フォント種類やサイズ変更以外はほとんど機能がありません。

テキスト入力でよく使うようになると 少し物足りない・機能が不足しているということになります。メモ帳が今まで出来ていた CSVファイルやHTMLファイル・CSSファイルの編集をはじめ、メモ帳では開けなかったPHPファイルなど プログラミング言語が書かれたファイルを開いて編集したりすることもできます。

メモ帳を含め数多くのテキストエディタが世の中にはあります。ではどれを使うのがプログラミング未経験者にとって最も良いのでしょうか。

おすすめのテキストエディタ

今回はMac,Windows,Linux全てに対応しているテキストエディタを紹介していきます。

Sublime Text(有料※無料でも使える)

 

海外産の テキストエディタです。
拡張性がかなり自由なため、上級者でもよく使っています。海外産ではありますが、日本語化も可能です。Sublime Text 3が最新版ですが、Sublime Text 2は無料で利用することが出来ます。

Aptana Studio(無料)

初心者にオススメと タイトルに書いてるのですが、若干中級者寄りかもしれません。
このAptana Studioは海外の テキストエディタで、 HTML5・ CSS3(Web制作に必要なプログラミング言語)にも対応しています。日本語化も有志によって行われているので安心です。プログラミング未経験者にはおすすめはできないです。

Atom(無料)

今一番注目されている テキストエディタといえるのが、この「Atom」です。
Windows、Mac、LINUXに対応していて無料で使うことが出来ます。Sublime Text同様に拡張機能が豊富で、Web開発者が使いやすい機能が豊富に取り揃えられています。また日本語化も設定で可能ですのでおすすめです。
Atom:https://atom.io/

Visual Studio Code(無料)

 


現在投稿者の周囲で使っている方が最も多いテキストエディタツールです。Microsoft社が開発しているテキストエディタです。Windows、Mac、Linuxの複数のディストリビューションに対応しています。拡張機能・ショートカットコマンドが大変豊富で、UI・操作性にも優れます。頻繁なマイナーアップデートも実施しています。デフォルトが英語対応のため、日本語対応の拡張機能をお使いいただくことをお勧めいたします。
Visual Studio Codeのインストールですが、下記の公式サイトにアクセスしてダウンロードいたします。私自身昔はAtomを使っていましたが、今はVSCodeを使っています。
Visual Studio Code:https://azure.microsoft.com/ja-jp/products/visual-studio-code/

まとめ

どのテキストエディタも使い勝手は良いです。その中で、筆者はVisual Studio Codeをおすすめします。
理由は2点あります。

  1. ・パッケージが豊富
    ・UIが整っている

見やすさや変換予測が充実していることでプログラムを書く際のミスは大幅に減るかと思います。ぜひ使ってみてください。

次回は早速PHPのプログラム作成についてお話しします。
非エンジニアでも知らないとヤバイPHP PART4〜ブラウザに表示してみよう〜に移動する。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part2〜環境設定の実施〜

前回PHPとは何かについてお話をしましたので今回は早速プログラミングの実装について勉強していきましょう。
PHPが初めての方は非エンジニアでも知らないとヤバイPHP Part1をご覧ください。

環境設定

今後勉強していく内容はあくまでも勉強用ですので自分が気軽に見れるような設定にしましょう。そのような設定をローカル設定と言います。PHPのローカル設定に必要なものとして、

  • ・XAMPP(ザンプ)
    ・MAMP(マンプ)

というものがあります。

前回お話したように、PHPはサーバー側で動くプログラミング言語です。ですので自分専用のサーバーとしてXAMPPやMAMPを手に入れましょう。XAMPPはフリーソフトの為無料で利用出来ます。MAMPは有料版と無料版がありますが、無料版をダウンロードで対応可能です。
WindowsOSをご利用の方はXAMPPを、MacOSをご利用の方はMAMPを選択していただければと思います。早速ダウンロードしていきましょう。

ダウンロード方法

XAMPPのダウンロードはこちら

MAMPのダウンロードはこちら

皆様がお持ちのPCに合ったXAMPP・MAMPをダウンロードしていきましょう。
今回は筆者のWebサーバー環境を構築するMac環境(MAMP)で話を進めさせていただきます。

Webサーバー起動

ダウンロードが完了しましたら、早速MAPPを開きましょう。
アプリケーションを起動すると、以下の画面が表示されます。

次に、ローカルの環境を設定していきましょう。
左上のPreferencesを選択し、Portsを選択します。Apatch Port:やNginx Port:など、Portの設定項目が表示されますが、Set Web & MySQL ports to:の部分で「MAMP default」を選択します。すると、以下の画面の状態になっているかと思います。

このようになりましたか?これでPortの設定が完了します。右下のOKボタンをクリックし、右上に表示されているStartボタンをクリックします。ローディングアイコンが起動し、以下の様な画面がブラウザに表示されれば成功です。

これで開発環境の事前準備が整いました。
この後実際に自分で作成したコードをブラウザに表示させるためにはもういくつかの準備が必要ですが、続きは非エンジニアでも知らないとヤバイPHP Part4にて説明していきたいと思います。

まとめ

今回はローカル設定についてお話ししました。次回はコーディングに必要なエディタのお話をしていこうと思います。非エンジニアでも知らないとヤバイPHP Part3〜テキストエディタの紹介〜に移動する。

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

非エンジニアでも知らないとヤバイPHP Part1〜PHPでできること〜

プログラミング経験有無に関わらず知識は必要

タイトルに記載していますように非エンジニアの方(業界問わず)でもプログラミングに関する知識は必要です。昨今世界中においてあらゆる分野において情報化が進んでいます。これは日本も例外ではありません。日本の小学校では、2020年以降プログラミング教育が必修化されています。近い将来今まで以上に情報技術に追い付けず社会から置いていかれるかも知れません。このシリーズでは、今までプログラミング経験皆無の人にも理解してもらえるように、分かりやすく書いていきます。

PHPとは?

PHPとはHypertext Processorを再帰的に略したものです。主にWebサービスやアプリ開発でよく使用されるサーバーサイドのスクリプト言語です。オープンソースの為世界中で幅広く利用されています。HTMLの中にPHPを書くことが可能な為便利な言語です。
また、プログラミング初心者が比較的取り組み易い言語として有名です。主な理由は2点あります。

①他言語に比べて文法がシンプル
②MySQL等のデータベースとの連携が容易

MySQLについて知りたい方は非エンジニアでも知らないとヤバイSQL Part1をご覧ください。

PHPで出来ること

PHPではWebアプリ開発やスマホアプリ・デスクトップアプリのデータ管理をサーバーサイドで可能となります。

例として、

  • ・お問い合わせフォーム
  • ・検索機能
  •  ・予約システム
  •  ・ログイン機能

等が作成可能です。

実際に、facebookやWikipedia等に使用されています。

PHPが動く仕組みについて

PHPはサーバーサイドのプログラミング言語です。
HTMLやCSSで保存されているファイルをWeb上サーバーで動作していきます。ユーザーがリクエストしたことに対してデータを返していきます。
具体例としてTwitterを考えていきましょう。
クライアント(ここではユーザー)がツイートをした時にサーバーサイド(Twitter運営会社)は、それをデータベースに格納します。また、他のクライアントが最新のツイートを表示したい場合、サーバーサイドから最新のツイートを送ります。

PHPが苦手なこと

高密度なグラフ等の作成やビックデータを用いた計算は得意ではない為、処理速度が遅いです。その為別の言語(Python等)を利用することをお勧めします。

次回はPHPの開発環境の設定方法について学んでいきましょう。
非エンジニアでも知らないとヤバイPHP Part2〜環境設定の実施〜

最後に

プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。

【今なら最大4,400円割引】2023年1DAYプログラミング 夏期講習の予約開始!

自由研究

2023年7月22日(土) 〜 8月27日(日)開催 1DAYプログラミング夏期講習の受付を開始しました。

6月末までのお申し込みで2,200円割引のキャンペーンを実施中です。
現在通塾しているスクール生にはプラス2,200円の追加割引もあります。

■1DAYプログラミング夏期講習・特設ページ

順次掲載いたします。




■コース紹介

毎年大人気の「障害物回避戦車コース」と、今年は新たに2つのコース、電子工作「光るスタンドコース」と「micro:bit ゲームプログラミングコース」が登場!
どのコースも1日で作品が完成し、自由研究にも提出できるサポートもありますので保護者様からも喜びの声をいただいております。

もちろん出来上がった作品はお持ち帰りOK!
必要なものも弊社でご用意しておりますので、当日の持ち物は必要ありません。

※満員御礼 ●障害物回避戦車コース  

毎年大人気!初回は全国放送のTV3局の取材が入るなど大注目のコースです。

プレートにモーターやタイヤなどをつける工作をし、ロボット制御用の基盤にプログラミングをして動かしていく電子工作を行います。
モーターや各ギヤが示す役割を理解し、戦車の挙動を決めるプログラムを作成します。

今年の自由研究は、世界に一つだけの戦車を作り、学校のみんなや先生をアッと驚かせましょう!

●光るスタンドコース

フィギアやロボットなどの推しやハーバリウムなどを飾って輝かせるスタンドを電子工作で作るコースです。

ライトの位置・間隔を工作で作り、RaspberryPiを使ってデジタル回路の基礎を理解しながら光る色や、速度などをプログラミングしていきます。
外装は色々な種類の素材のデコレーションを使って装飾してもOK。

世界に1つだけの輝くインテリアを作りましょう!

●micro:bit ゲームプログラミングコース

ScratchまたはUnityでゲームプログラミングを行い、micro:bit(マイコン)にもゲームコントローラとしてプログラミングしてプレイするコースです。

馴染みのある、ゲームやゲームコントローラーがどのようにプログラミングをされているかを実体験してみましょう。

プログラミングが初めての方や、小学生低学年までの方にはScratchコース、
Scratchに慣れている方や少しレベルアップしたプログラミングに挑戦した方にはUnityコースをお勧めします。

プログラミングが初めてでも十分理解ができるように、プロジェクトをご用意していますので、
タイピングが苦手、PCにあまり触ったことがない、そんな方でもご安心ください。

Scratchゲームプログラミング

Scratchコースでは、インベーダーシューティングゲームを作ります。

Unityゲームプログラミング

Unityでは、3DRunゲームを作ります。



■開催概要

開催場所
TETRA UP 四谷本校
東京都新宿区荒木町ナオビル2階

開催日時
※満員御礼 ◆障害物回避戦車コース 10:30~15:30 (お昼休み12:30〜13:30)
7月22日(土) ・30日(日)
8月5日(土) ・13日(日) ・ 19日(土) ・ 27日(日)


◆光るスタンドコース
・9:00~12:00 開催日
 7月29日(土)・8月6日(日)・8月26日(土)
・14:00~17:00 開催日
 7月23日(日)・8月12日(土)・8月20日(日)

◆micro:bit ゲームプログラミングコース
・9:00~12:00 開催日
 7月23日(日)・8月12日(土)・8月20日(日)
・14:00~17:00 開催日
 7月29日(土)・8月6日(日)・8月26日(土)



持ち物
飲み物・(戦車コースのみ)お昼ご飯

定員
各日6名まで

■料金

表示の料金はすべて税込価格です。

※満員御礼・障害物回避戦車コース 24,200円
・光るスタンドコース 13,200円
・micro:bit ゲームプログラミングコース 13,200円


▲6月末までのお申し込み 早期申込割引 → 2,200円割引
▲スクール生 スクール生割引 → 2,200円割引

早期申込割引とスクール生割引を合わせて4,400円の割引!

■お申し込み方法

フォームよりお申し込みください。


各コース先着順となっております。予めご了承ください。


【お問い合わせ】
Mail:education@knocknote.jp
Tel:03-6709-8725

小学生がロボットプログラミングを学ぶメリットとは?

小学生がロボットプログラミングを学ぶメリットとは?

近年、ロボットプログラミング教室に通う小学生が増えていますが、そもそもロボットプログラミングを学ぶことにどのようなメリットがあるのか、保護者や教育者が疑問に思うことではないでしょうか。

この記事では、具体的にロボットプログラミングが小学生に与える影響や、将来的に役立つスキルや能力について紹介し、小学生がロボットプログラミングを学ぶメリットについて解説します。
また、ロボットプログラミングを学ぶことで得られる知識や経験が、子どもたちにどのような成長をもたらすのかも探っていきます。

この記事を読むことで、小学生がロボットプログラミングを学ぶことの意義や効果を理解することができ、ロボットプログラミング教室に通わせるかどうか迷っている保護者や教育者にとっては、子どもたちにとって有益な取り組みであることを知ることができるでしょう。
さらに、小学生にロボットプログラミングを教える教育者にとっても、教育の効果を高めるヒントを得ることができます。

>>無料体験レッスンはこちら

小学生にロボットプログラミング教室は学びやすい?

小学生にとってロボットプログラミング教室は学びやすいと言えます。
なぜなら、子どもたちは新しいことを学ぶことに対して好奇心が旺盛で、自らも積極的に挑戦することができるからです。
また、ロボットプログラミングは理系の知識や技術を必要とするため、小学生が取り組むことでSTEM教育にもつながります。
さらに、ロボットプログラミング教室では、教材やプログラムが視覚的に分かりやすく設計されていることが多く、子どもたちは直感的に理解できるという利点もあります。
そのため、小学生にとってロボットプログラミング教室は学びやすく、興味を持ちやすい環境が整っていると言えます。

>>無料体験レッスンはこちら

小学生がロボットプログラミングを学ぶメリットとは?

小学生がロボットプログラミングを学ぶメリットとは?

小学生がロボットプログラミングを学ぶメリットは多岐にわたります。
まず、ロボットプログラミングを通じて、論理的思考力や問題解決能力、創造力などのスキルを身につけることができます。

また、プログラミングに必要な英語力や数学力など、学校教育で必要とされる能力も同時に磨くことができます。
さらに、ロボットプログラミングはSTEM教育にも貢献するため、将来的には理系の道に進むことを考えている子どもたちにも有益な教育となります。

また、ロボットプログラミングを通じて、プログラミングの世界に触れることができ、IT業界への興味関心を高めることもできます。
さらに、ロボットプログラミングを学ぶことで、チームワークやコミュニケーション能力も向上するため、社会性を養うこともできます。

これらのメリットは、小学生にとって将来の成長にも大きく影響するものであり、ロボットプログラミングを学ぶことは非常に有益なことと言えます。

>>無料体験レッスンはこちら

ロボットプログラミング教室で身につく小学生に必要なスキルとは?

小学生にとってロボットプログラミング教室で身につくスキルは様々です。
例えば、プログラミング言語の理解力や論理思考力、問題解決能力、チームワーク、創造力、コミュニケーション能力などが挙げられます。

プログラミング言語の理解力は、ロボットを操作するために必要不可欠なスキルです。
ロボットを正確に動かすためには、命令や条件分岐を理解し、ロボットに対して正確な指示を出す必要があります。

論理思考力は、プログラムを組む上で欠かせないスキルです。プログラミングでは、問題を分解して論理的に解決する力が求められます。
例えば、ロボットが正しいルートで目的地まで進むためには、最適なコースを考える必要があります。

問題解決能力は、プログラミングにおいて最も大切なスキルの一つです。
問題を発見し、それを解決するための方法を見つける力が求められます。

チームワークやコミュニケーション能力も、ロボットプログラミング教室で身につくスキルの一つです。
プログラムを作るには、複数の人が協力してプロジェクトを進める必要があります。
ロボットプログラミング教室では、他の生徒と協力してプログラムを作ることで、チームワークやコミュニケーション能力を高めることができます。

以上のように、小学生がロボットプログラミング教室で身につけることができるスキルは多岐にわたります。
将来的には、これらのスキルを活かして、様々な分野で活躍することができるでしょう。

>>無料体験レッスンはこちら

ロボットプログラミング教室の授業内容やカリキュラムについて徹底解説!

ロボットプログラミング教室では、どのような内容が学べるのでしょうか?
主な授業内容は、プログラミング言語の基礎からロボットの制御方法まで、幅広い領域をカバーしています。
具体的には、プログラミング言語の文法や制御構造、センサーの使い方、ロボットの動作の制御方法などが学べます。

カリキュラムに関しては、各教室によって異なりますが、基本的には初心者向けの入門コースから、中級者向けのコース、上級者向けのコースまで、幅広いレベルに対応しています。
また、ロボットの種類や機能に応じたコースもあります。初心者向けの入門コースでは、簡単なロボットの制御方法を学び、中級者向けのコースでは、より複雑なプログラムを作成することができます。
上級者向けのコースでは、より高度なロボットの制御方法を学ぶことができます。

ロボットプログラミング教室では、プログラミングやロボット制御に必要なスキルを効率的に学ぶことができます。
また、専門の講師が指導してくれるため、初心者でも安心して学ぶことができます。
さらに、ロボットプログラミング教室では、チームでの開発やコンテストなども行われているため、コミュニケーション能力や協調性も身につけることができます。

>>無料体験レッスンはこちら

小学生におすすめ!ロボットプログラミング教室の最適な入門コースとは?

小学生におすすめ!ロボットプログラミング教室の最適な入門コースとは?

小学生にとって最適なロボットプログラミング教室の入門コースを選ぶには、幅広い教育内容やコースの長さ、費用、開催場所や時間帯など、様々な要素を考慮する必要があります。

まずは、教育内容が適切であることが重要です。プログラミング言語やプログラミング技術の基礎的な知識を身につけることができる教育プログラムを選びましょう。また、実際にロボットをプログラミングして操作することができる実習やハンズオンもあるとより理解が深まります。

次に、コースの長さや費用も重要です。短期集中型のコースもあれば、長期間にわたるコースもあります。また、コースの費用も様々で、予算に合わせて選ぶことができます。ただし、安価なコースの場合は教育内容が不十分な場合があるため、料金だけで選ぶのは避けましょう。

また、開催場所や時間帯も重要です。通いやすい場所や時間帯の教室を選ぶことで、子どもたちも無理なく通えるため、継続しやすくなります。

以上の点を考慮し、小学生におすすめのロボットプログラミング教室の入門コースは、幅広い教育内容をカバーし、実習やハンズオンも含まれるコースで、コースの長さや費用が適切で、通いやすい場所や時間帯の教室があるものがおすすめです。

>>無料体験レッスンはこちら

まとめ

本記事では、小学生にとってロボットプログラミング教室の学習がどのようなメリットがあるのか、どのようなスキルを身につけることができるのか、また、どのような授業内容やカリキュラムがあるのかについて紹介しました。さらに、小学生におすすめのロボットプログラミング教室の入門コースについても解説しました。ロボットプログラミング教室に参加することで、プログラミングの基礎を身につけることができるとともに、論理的思考力や創造力、コミュニケーション能力など、幅広いスキルを身につけることができます。また、プログラミングは現代社会においてますます重要なスキルであるため、小学生のうちから取り組むことで、将来の可能性を広げることができます。是非、ロボットプログラミング教室に参加して、新しいスキルを身につけてみてはいかがでしょうか。

>>無料体験レッスンはこちら


Warning: include(/var/www/html/tetraup.com/knocknote.jp/tmpl/aside.html): failed to open stream: No such file or directory in /var/www/html/tetraup.com/news_topics/wp-content/themes/news/archive.php on line 24

Warning: include(): Failed opening '/var/www/html/tetraup.com/knocknote.jp/tmpl/aside.html' for inclusion (include_path='.:/usr/share/pear7:/usr/share/php') in /var/www/html/tetraup.com/news_topics/wp-content/themes/news/archive.php on line 24