PHPの基本文法

PHPの基本文法

 ここではPHPの基本文法をまとめています。


PHPプログラムの基本文法

PHPプログラムの宣言

 PHPのプログラムは<?phpと?>の間に記述します。

<?php
 echo "Hello World";
?>
>Hello World


PHPプログラムの命令文

 命令文の最後にセミコロンを記述します。

<?php
 echo "Hello World";
?>
>Hello World


PHPプログラムのコメント

 PHPのコメントは一行コメントの場合#または//の後に、範囲コメントの場合は/* */の間に記述します。

<?php
# 一行コメント
// 一行コメント
/* 範囲コメント */
 echo "Hello World";
?>
>Hello World




出力

echoの基礎

 PHPで文字出力する命令はechoです。
 PHPにおいて各条件ごとechoを利用して動的にHTML文を出力することは、主要な使用用途の一つです。

 echo "Hello World"; // テキスト出力
 >Hello World

 echo "Hello" , " " , "World"; // カンマで区切って複数のパラメーターを連続出力可能
 >Hello World

 echo "Hello" . " " . "World"; // ドットは文字の連結。この方法でも連続出力可能
 >Hello World

 echo "<p>Hello World</p>"; // HTML文出力
 >Hello World


文字列を囲むダブルクオーテーションとシングルクオーテーション

 文字列を出力する場合にはダブルクオーテーションもしくはシングルクオーテーションで文字列を囲みます。
 変数は、囲わなくても出力できます。囲う場合、ダブルクオーテーションでは変数が展開されますが、シングルクオーテーションでは変数展開されません。
 数値は、囲わないと数値として扱われます。ダブルクオーテーションもしくはシングルクオーテーションで囲うと文字として扱われます。

 echo 'Hello World'; // シングルクオーテーション囲み
 >Hello World

 $var="TEST";
 echo $var; // 変数:囲いなし
 >TEST
 
 $var="TEST";
 echo "変数展開確認 $var"; // 変数:ダブルクオーテーション囲み
 >変数展開確認 TEST
 
 $var="TEST";
 echo '変数展開確認 $var'; //変数:シングルクオーテーション囲み
 >変数展開確認 $var
 
 $var="TEST";
 echo "変数展開確認 {$var}"; //波括弧で変数を囲い明確化
 >変数展開確認 TEST
 
 echo 1+2+3; // 数値:囲いなし
 >6
 
 echo "1+2+3"; // 数値:ダブルクオーテーション囲み
 >1+2+3
 


特殊文字のエスケープ対応

 ダブルクオーテーションもしくはシングルクオーテーションで文字列を囲んだ場合、\を対象文字の前に書くことで特殊な文字を表示します。
 この\をエスケープ文字と言います。
 

 echo '\''; //シングルクオーテーション
 >'
 echo "\""; //ダブルクオーテーション
 >"
 echo "\\"; //エスケープ文字
 >\

  他に\n = 改行、\r = 復帰、\t = タブ、\xxx = 16進数のASCII文字 等があります。

ヒアドキュメントとNowdoc

 毎行echoを書くのは手間なので、複数行を一括して出力する方法です。
 ダブルクオーテーション扱いのヒアドキュメントと、シングルクオーテーション扱いのNowdocがあります。

//ダブルクオーテーション扱いのヒアドキュメント
 echo <<< _EOF_
 <p>1行目</p>
 <p>2行目</p>
 <p>3行目 $var</p>
 _EOF_;
 >1行目
 >2行目
 >3行目 TEST


//シングルクオーテーション扱いのNowdoc
 echo <<< '_EOF_'
 <p>1行目</p>
 <p>2行目</p>
 <p>3行目 $var</p>
 _EOF_;
 >1行目
 >2行目
 >3行目 $var




文字列操作

文字列操作関数

 文字列の抽出、置換等文字列を操作する関数です。これらの関数は半角英数であれば問題なく利用できますが、日本語を含む場合、正しく動作しない場合があります。その場合UTF-8、SJISなど文字コードを考慮した別途ライブラリが必要になります。

 //trim(文字列):左右のスペースを除去
 $var=" abc ";
 echo "<p>".trim($var)."</p>";
 >abc

 //strlen(文字列):バイト数
 $var="abcde";
 echo "<p>".strlen($var)."</p>";
 >5

 //strpos(文字列,検索文字):何番目に検索文字があるか
 $var="abcde";
 echo "<p>".strpos($var,"c")."</p>";
 >2

 //substr(文字列,開始位置,文字数):文字列を抽出
 $var="abcde";
 echo "<p>".substr($var,0,3)."</p>"; //文字数を指定
 >abc
 echo "<p>".substr($var,3,2)."</p>"; //開始位置、文字数を指定
 >de
 echo "<p>".substr($var,2)."</p>"; //開始位置を指定
 >cde

 //str_replace(検索文字,置換文字,文字列):文字を置換
 $var="abcde";
 echo "<p>".str_replace("a","b",$var)."</p>";
 >bbcde




数値演算

 学術的な計算は省き最低限の演算子、四捨五入、切り上げ等のみ取り上げています。

 //基本演算子
 $var=3+5; // +
 echo "<p>".$var."<p>";
 >8
 $var=3-5; // -
 echo "<p>".$var."<p>";
 >-2
 $var=3*5; // *
 echo "<p>".$var."<p>";
 >15
 $var=3/5; // /
 echo "<p>".$var."<p>";
 >0.6
 $var=3%5; // %
 echo "<p>".$var."<p>";
 >3

 //インクリメント関連演算子
 $var=1;$var++; // インクリメント
 echo "<p>".$var."<p>";
 >2
 $var=1;$var--; // デクリメント
 echo "<p>".$var."<p>";
 >0
 $var=1;++$var; // 先インクリメント
 echo "<p>".$var."<p>";
 >2
 $var=1;--$var; // 先デクリメント
 echo "<p>".$var."<p>";
 >0
 $var=1;$var+=5; // 値指定インクリメント
 echo "<p>".$var."<p>";
 >6
 $var=1;$var/=2; // 値指定除算
 echo "<p>".$var."<p>";
 >0.5

 //桁丸め
 //round(数値,桁数):四捨五入
 $var=1.53;
 echo "<p>".round($var,0)."</p>";
 >2
 echo "<p>".round($var,1)."</p>";
 >1.5

 //floor(数値):整数化(小数点以下切り捨て)
 $var=1.1;
 echo "<p>".floor($var)."</p>";
 >1

 //ceil(数値):整数化(小数点以下切り上げ)
 $var=1.1;
 echo "<p>".ceil($var)."</p>";
 >2




 Copyright IT SKILL MAP. All rights reserved.