PHP vol.3

PHPはだんだん頭の中が混乱してきました。
自習してどうにか挽回せねば。
\nは""内でないと使えない。

比較演算子と論理演算子の否定

比較演算子 != 等しくない
論理演算子 ! 否定
例題
<?php

$number =3;
$bool = false;

if($number != 1) {
  echo "1ではありません。\n";
} else {
  echo "1です。\n";
}

echo "============\n";

if(!$bool) {
  echo "正しいです。\n";
} else {
  echo "正しくないです。\n";
}
出力結果
$ php 040701.php 
1です。
============
正しいです。

比較演算子

=== 同じ型で且つ正しい
!== 同じ型であり等しくない

問題1(if)

$boxという変数を一つ用意し、$boxの中身が"リンゴ"という文字列だった場合のみ
「中身はリンゴです。」と表示するプログラムを作成せよ。

回答
<?php

$box = "リンゴ";

if($box == "リンゴ") {
  echo "「中身はリンゴです。」 \n";
} 
実行結果
$ php q01.php 
「中身はリンゴです。」 

問題2(if,else)

問題1で作成したプログラムにリンゴではなかった場合のメッセージを追加し
「中身はリンゴではありません。○○が入っています。」と表示するプログラムを作成せよ。
○○では、変数の中身を表示せよ。

回答
<?php

$box = "毒リンゴ";

if($box == "リンゴ") {
  echo "「中身はリンゴです。」 \n";
} else {
  echo "「中身はリンゴではありません。".$box."が入っています。」\n";
}
実行結果
$ php q02.php 
「中身はリンゴではありません。毒リンゴが入っています。」

問題3(if,elseif,else)

問題2で作成したプログラムにリンゴではないけどみかんという文字列が$boxに入っていた場合の
処理を追加してその内容を表示せよ。

回答
<?php

$box = "みかん";

if($box == "リンゴ") {
  echo "「中身はリンゴです。」 \n";
} elseif ($box == "みかん") {
  echo "「中身はみかんです。」\n";
} else {
  echo "「中身はリンゴではありません。".$box."が入っています。」\n";
}
実行結果
$ php q03.php 
「中身はみかんです。」

問題4(&&,比較(>=))

箱の中の数量が3個以上かどうか&中身がリンゴか判定する処理を追加して、新たなメッセージとして
$boxの中身と数量を同時に1つの文字列で表示せよ。

回答
<?php

$box = "リンゴ";
$amount = 5;

if($box == "リンゴ" && $amount >= 3) {
  echo "「中身はリンゴです。数量は".$amount."です。」 \n";
} elseif($box =="リンゴ") {
  echo "「中身はリンゴです。数量は".$amount."しかありません。」 \n";
} else {
  echo "「中身は".$box."です。数量は".$amount."です。」\n";
}
実行結果
$ php q04.php 
「中身はリンゴです。数量は5です。」

問題5(||)

$boxの中身が空文字か数量が1より小さかった場合「中身が空です。」というメッセージを
表示する判定処理を作成してください。

回答
<?php
$box = "";
$amount = 0;
if($box=="" || $amount<1) {
  echo "中身が空です。\n";
} else {
  echo "中身があるみたいです。\n";
}
実行結果
$ php q05.php 
中身が空です。

問題6

年齢確認システムを作りたい。確認年齢、到達年齢、確認するテーマを3つの変数を
使って作成してください。表示するメッセージは以下の3つを作成してください。
メッセージの内容は何でもかまいません。

年齢は確認年齢以上
年齢が確認年齢未満
年齢が入力されていません。

回答
<?php
$ckage =20;
$age =15;
$theme ="酒販年齢確認";
if ($ckage >= $age && $age!="") {
  echo $theme."\n年齢は確認できました。\n年齢は確認年齢以上です。\n";
} elseif($ckage < $age && $age!="") {
  echo $theme."\n年齢が確認できました。\n年齢は確認年齢未満です。\n";
} else {
  echo $theme."\n年齢が確認できませんでした。\n年齢が入力されていません。\n";
}
実行結果
$ php q06.php 
酒販年齢確認
年齢は確認できました。
年齢は確認年齢以上です。

代入演算子

+= $number += 1;は$number+1と同じ。
-= $number -= 1;は$number-1と同じ。
.= 文字列の連結
<?php
$number =5;
echo "元々:".$number."\n";
$number +=1;
echo "+=:".$number."\n";
$number -=1;
echo "-=:".$number."\n";
$text ="文字列が";
$text .="連結されます。\n";
echo $text;
実行結果
$ php 040703.php 
元々:5
+=:6
-=:5
文字列が連結されます。

インクリメント/デクリメント

インクリメント ++$number $numberを1増やしてから処理される。
$number++ $numberを処理してから1増やす
デクリメント --$number $numberを1減らしてから処理される。
$number-- $numberを処理してから1減らす
<?php
$number =1;
echo $number."\n";
echo $number++."\n";
echo ++$number."\n";
実行結果
$ php 040704.php 
1
1
3

問題7(過剰算(%))

数値を意味する変数を1つ作成し、その数値が奇数か偶数かを判定し数値を表示してください。

回答
<?php
$hensu =13;

if($hensu%2==0) {
  echo $hensu."/偶数\n";
} else {
  echo $hensu."/奇数\n";
}
実行結果
$ php q07.php 
13/奇数