5月2日 授業内容(phpの基礎(復習要))

Macphpを使うときに日本語を正しく表示する設定
d.hatena.ne.jp



phpを勉強するときに一番役立つサイト
PHP: Hypertext Preprocessor

四則演算
d.hatena.ne.jp


練習問題
変数を使う(※phpは演算処理をbodyより上にして、テキスト処理はbodyの中にする。

f:id:paris1204:20160502194739p:plain
f:id:paris1204:20160502194747p:plain
f:id:paris1204:20160502195129p:plain
f:id:paris1204:20160502195139p:plain

<?php
$price=3000;  //標品価格
$tax_rate=0.08; //消費税
$total=$price + $price*$tax_rate;  //標品価格+消費税の合計


$apple_price=160;//りんごの価格
$apple_count=3;//りんごの個数
$banana_price=120;//バナナの価格
$banana_count=6;//バナナの個数
$friend=3;//支払い人数
$value=$apple_price * $apple_count + $banana_price * $banana_count;//商品の合計を求める
$tax=$value * $tax_rate;//税金の金額を求める。
$total=$value + $tax;//税込み金額を求める
$value2=$total /$friend;//人数で割る
?>

<!--echo'<h1>価格3000円の消費税込みの値段は、' . $total . '円です。</h1>';
echo '<h1>価格3000円の消費税込みの値段は';
echo $total;
echo '円です。</h1>';
コメントアウトしている分のショート文
$totalの前後にある.はjavascriptの連結演算子と同じ機能
-->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>消費税も含めた合計金額の算出</title>
</head>
<body>
<h1>消費税込みの金額は、<?php echo $total; ?>円です。</h1>
<p>税抜き 160円のリンゴを3つと、税抜き 120円のバナナを6つ買いました。
友達3人でお金を出し合って買っています。
.一人当たりの支払額は、<?php echo $value2; ?>円です。</p>
</body>
</html>

d.hatena.ne.jp

応用
f:id:paris1204:20160502200439p:plain

<?php
define('HEISEI',1989);//1989年が平成1年であることを定義します。変わらない値は定数で設定する。
$year=2016;//西暦2016年の数値を変数に代入
$msg = '西暦' . $year . '年は、平成';
//2016-1989+1
$msg .= ( $year - HEISEI + 1 ) . '年です。';

echo $msg;

f:id:paris1204:20160502200449p:plain
f:id:paris1204:20160502200459p:plain

f:id:paris1204:20160502201725p:plain

<?php
$num=15;//数字として表示
$str='15';//文字としての表示
$str2='十五';//日本語の文字として表示

var_dump($num);
echo '<br>';
var_dump($str);
echo '<br>';
var_dump($str2);//utf-8での日本語の文字コードは3バイトなので2文字で6
echo '<br>';
echo $num +3;//数字15 + 3=18
echo '<br>';
echo $str + 3;//文字15 + 3だがphpでは18に計算されてしまう。数字が全角だと日本語として認識されるので表示が6になる。
echo '<br>';
echo $str2 + 3;//日本語が入ってしまうと日本語は無視して計算される
echo '<br>';
echo 3 + $str2;//日本語が入ってしまうと日本語は無視して計算される

f:id:paris1204:20160502200507p:plain
f:id:paris1204:20160502202107p:plain

<?php
$a ='0円';
$b='整数';//0は整数に含まれない
$c = '3倍お得';

if ( ! is_numeric($a) ) echo 'YES';//!は否定演算子
echo '<br>';
if ( ! is_numeric($b) ) echo 'YES';
echo '<br>';
if ( ! is_numeric($c) ) echo 'YES';
echo '<br>';

if ( $a == 0) echo '$aはゼロ<br>';//0円のうち半角の0のみを数値として取り出す
if ( $b == 0) echo '$bはゼロ<br>';//整数は全て半角なので整数(指で数えられないもの)として0を出力する
if ( $c == 3) echo '$cは3<br>';//3倍お得のうち半角3のみ数値として取り出す
echo $c + 100;

f:id:paris1204:20160502200515p:plain

<?php
$true=TRUE;//確認のためまず変数に論理型を代入しておく
$false=FALSE;

$a=!$true;//TRUEの否定なので結果はFALSE
$b =!$false;//FALS´の否定なので結果はTRUE
$c=!$true && !$true;//TRUEの否定(FALSE)同士のANDはFALSE
$d=!($true && $true);//TRUE同士のANDの結果(TRUE)を反転してFALSE
var_dump($a,$b,$c,$d);

d.hatena.ne.jp


dumpについての説明
PHP: var_dump - Manual



phpのエラーチェック
d.hatena.ne.jp