4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初学者の人は見なきゃやばい! PHPの条件分岐(初学者の方向け)

Last updated at Posted at 2022-04-04

はじめに

PHPの基本をこの記事で書いていきます。
PHPの初学者の方向けの記事です。実際にコードを書いたりして
実際の挙動などを確認してみてください。

環境

MAMPをインストールします。
エディタはVScodeです。

環境構築方法

MAMPの環境構築が動画でわかりやすく載っていました。
PHPで出力する時はMAMPで出力するのでこちらを確認してください。

バージョン

以下のバージョンで挙動を確認しました。

スクリーンショット 2022-03-31 1.32.17.png

条件分岐

これはもし〜なら〜で処理するみたいな仮定法みたいなイメージです。
webサービスでもよく使われます。
代表的なもので下のようなものがあります。

ex)
if, for, foreach, switch, while, do-while

if文

よく使うif文を書いていきます。
書き方は以下の通りです。

<?php 

if (条件式) {
//条件式が真の時実行
}
?>

年齢に当てはめてみていきます。

<?php
$age = 28;

if($age > 20){
    echo "あなたは". $age. "歳なので大人です。<br>";
}
//あなたは28歳なので大人です。

.は文字の連結です。

$height = "170"; .//文字
var_dump($height);

if($height === 170){  //基本===
    echo "私の身長は". $height. "cmです。";
}
//int(170) 私の身長は170cmです。

文字や数字を判定しやすい用に===を基本使います。

条件式が偽になる時は?

falseになる時の条件があります。

ex) 0, null, 空文字, メンバ変数のオブジェクトが0

$age = 0;

if($age > 20){
    echo "あなたは". $age. "歳なので大人です。";
}
//何も出力されない

if else文

if文だけでは足りないのでそこで、elseが出てきます。

$age = 27;

if($age > 30){
    echo "あなたは". $age. "歳なのでベテランです。<br>";
}else {
    echo "あなたは". $age. "歳なので若手です。<br>";
};

//あなたは27歳なので若手です。

上の意味は30歳より上ではない場合は若手ですとなります。
elseより上の処理が真でない場合に実行される文です。

if  else if  else文

ifとelseだけだと処理をかける数が限られてしまいます。
そこでelse if文があります。

$age = 20;

if($age > 30){
    echo "あなたは". $age. "歳なのでベテランです。<br>";
}else if($age >=  25)  {
    echo "あなたは". $age. "歳なので若手です。<br>";
} else if($age >= 20) {
    echo "あなたは". $age. "歳なので新人です。<br>";
} else {
    echo "あなたは". $age. "歳なのでルーキーです。<br>";
}

//あなたは20歳なので新人です。

else ifを使ったことでいろいろな条件式が書けました。

elseを使う時の注意

elseはあまり使わない方がいいみたいです。
理由はif文が増えて、else if, elseなどがいっぱいになり読みづらくなるからです。

if文単体の方が見やすくなってきます。

条件分岐の演算子

条件分岐で使われえる論理演算子を見ていきます。

実務でよく使う比較演算子

参考動画に実務でよく使う比較演算子があったのでリストにしておきます。

比較演算子 使用例 例の意味
== A == B AとBの値が等しい
=== A === B AとBの値または型も等しい
!= A! = B AとBの値が等しくない
!== A! == B AとBの値または型が等しくない
> A > B BよりAが大きい
>= A >= B BよりAが大きいか等しい

これを使ってコードを書いていきます。

$height = 180;

if($height !==  170) {  
    echo "身長は170センチではない。";
}

//身長は170センチではない。

身長が170センチではない時に実行されます。

最後に付き合いたい女性のプログラムの実行結果です。

$looks = "美人じゃない";
$style = "おしゃれじゃない";
$personality = "性格がいい";

if($looks === "美人"){
    echo "美人な人と付き合いたい<br>";
} else if($style === "おしゃれ"){
    echo "おしゃれな人と付き合いたい<br>";
} else if($personality === "性格がいい"){
    echo "性格がいい人と付き合いたい<br>";
}else {
    echo "この人とは付き合わない<br>";
}

//性格がいい人と付き合いたい

データがあるかどうかの確認

データが入っているかどうかの確認をする時に、以下の3つの関数があります。

関数 意味
isset 変数に値がはいっているかどうかを確認する関数
empty 引数に与えた変数や配列の中身が空かどうか確認する関数
is_null 変数がNULLかどうか確認します。変数がNULLならTRUE、それ以外は FALSE を返す。

⚫︎is_nullの補足
変数が未定義の時もTRUE を返しますが、未定義の確認はisset() を使ったほうがいいみたいです。

まずissetを使っていただきます。

$check = "確認";
if(isset($check)){
    echo "変数は確認です。<br>";
}
//変数は確認です。

変数が存在するのかを確認します。

次にemptyを使ってみます。

$check = "";
if(empty($check)){
    echo "変数は空です。<br>";
}

//変数は空です。

もし変数にjなど何か入力すれば出力はされません。

最後にis_nullです。

$check = null;
if(is_null($check)){
    echo "変数はnullです。<br>";
}

//変数はnullです。

論理演算子

論理演子が全くわからない方は都合によりこちらの記事で確認お願いします。

論理演算子を使ってみる

付き合いたい女性プログラムを書いて例を見ていきます。

$looks = "美人";
$personality = "性格がいい";

if ($looks === "美人" && $personality === "性格がいい" ){
   echo "この人と付き合いたい<br>";
}

//この人と付き合いたい

if文のところで、美人かつ性格がいい人と付き合いたいと意味になります。
&&はAかつBという意味です。

もし性格が悪いにすると

$looks = "美人";
$personality = "性格が悪い";

if ($looks === "美人" && $personality === "性格がいい" ){
   echo "この人と付き合いたい<br>";
}

何も表示されません。

もしここでできれば美人がいいけど、美人でなくても性格が良ければいいとなると

$looks = "美人";
$personality = "性格が悪い";

if ($looks === "美人" || $personality === "性格がいい" ){
   echo "この人と付き合いたい<br>";
}

//この人と付き合いたい

美人または性格がいい人ならいいとなります。
||はAまたはbという意味です。

三項演算子

if else文を1行で書ける特徴を持つのが三項演算子です。

//三項演算子
//if else文
//条件 ? 真 : 偽

$toeic = 800 ;
$result = $toeic > 700 ? "会社が欲しい英語力<br>" : "なくてもいい英語力<br>";

echo $result;
//会社が欲しい英語力

TOEICの点数が700点より上なら会社が欲しい英語力かどうかのプログラムです。

Switch文

if文を書き換えでswitch文を書くことができます。

下がswitch文の書き方です。

switch(変数){
    case "" :
        //実行内容
        break;
    case "" :
        //実行内容
        break;
    case "" :
        //実行内容
        break;
    default:   //else
    //実行  
}

if文と比較しながらみていきます。
サッカー選手のプログラムを書いていきます。

⚫︎i文

//if文
$playing_team = "バルセロナ";

if($playing_team === "FC東京"){
    echo "日本のJリーグでプレイしています。<br>";
}else if($playing_team === "バルセロナ"){
    echo "スペインリーグでプレイしています。<br>";
}else if($playing_team === "リバプール"){
    echo "イングランドでプレイしています。<br>";
}else {
    echo "無所属<br>";
}

//スペインリーグでプレイしています。

⚫︎switch文

//switch文
$playing_team = "バルセロナ";

switch($playing_team){
    case "FC東京":
        echo "日本のJリーグでプレイしています。<br>";
        break;
    case "バルセロナ";
        echo "スペインリーグでプレイしています。<br>";
        break;
    case "リバプール";
        echo "イングランドでプレイしています。<br>";
        break;
    default;   //elseに該当
        echo "無所属<br>";
}

 //スペインリーグでプレイしています。

⚫︎注意点
break;を入れないと処理が止まらないので、処理をしたくないとこまで処理が実行されてしまいます。

比較してみるとswitch文はみやすいですよね。
プログラムを書く時に、自分と他人が読みやすいコードを書くことが大事です。

PHPが全くわからない人向けの記事

参考資料

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?