PHPの基本プログラミング
PHPの基本プログラミング
PHPの基本プログラミング※画像クリックで拡大表示
※アイコンの機能:表示 実行 ダウンロード
- PHPのインストール環境の機能確認は、
「phpinfo()」関数を利用しますので、プログラム作成(phpinfo.php)し、「htdocs」フォルダ下に配置して、実行してみましょう。
<?php phpinfo(); >
※既にインストールしているPHP5.4.29のバージョンにおけるApache2.4.6の利用環境、PHP初期設定している内容(php.ini)のPHP機能拡張、PHPスーパーグローバル変数の「$_SERVER」「$_ENV」などが確認できます。
PHP5.4.29環境確認:phpinfo()実行結果(PDF) - PHPの基本的プログラミングの命令・関数
- header関数によるコンテンツ出力の種類の指定は、
「Content-type:text/plain; charset=UTF-8」のように「プレーンなテキスト表示:text/plain」と「コードの指定: UTF-8」(必要の場合)を設定します。全ての出力前にこの関数を実行する必要があります。
通常HTMLドキュメントの出力指定は「text/html」、JPEG画像の出力指定は「image/jpeg」等を記述します。 - 指定したURLへジャンプする場合、HTMLページのキャッシュを無効にする場合等、header関数を利用します。
//(LocationでURL指定した例) header("Location: http://sample.com"); exit;//exit関数は、その後の処理を実行させない出口指定
/*(HTTP/1.1サーバプロトコル用) 強制的にキャッシュ無効に指定した例 */ header("Cache-Control: no-cache, must-revalidate");
- エスケープシーケンスは、
キーボードから入力不可の文字(改行やタブなど)やPHP言語上で特別な意味を持つ文字記号($など)の前に「¥」文字を付加して文字表現することをいいます。エスケープシーケンス 内容 ¥r 復帰(CR) ¥n 改行(LF) ¥t タブ(tab) ¥¥ ¥文字 ¥$ $文字 ¥( 開き小括弧 ¥) 閉じ小括弧 ¥[ 開き大括弧 ¥] 閉じ大括弧 ¥' シングルクオーテーション ¥" ダブルクオーテーション ¥nnn 8進数で nnn の表記 ¥xnn 16進数で nn の表記 - 変数と型キャストは、
変数定義時に明示的な型定義をする必要はなく、変数が使用される文により型が定義されます。キャストを利用して、型変換も可能です。
PHP変数と型キャストの関連関数まとめ(PDF)
PHPデータの値・型判断上のPHP関数比較(PDF) - 文字列連結の演算子「.(dot)」は、
変数、文字列を連結するもので、実行は左側から開始されて複数の変数、文字列を連結した内容を返します。//(変数、文字列を連結した例) $string='PHP'; $str="文字列".$string.'内容です'; echo $str; //$strの内容「文字列PHP内容です」
「$str .= xxx」の代入文字列演算子は、変数$strの文字列の後ろに「xxx」を追加連結した内容が、代入されます。 - 定数は、
define関数を利用して、名称とそれに対する値(文字列他)を定義します。
- 定数に指定できるのは、スカラデータ(boolean, integer, double, string) のみ(PHP5.6以前)で、一般的に定数の名称は、大文字の英数字を利用して、区別します。
//(URL名称の定数例) define('URL',"http://sample.com");
- 定義した名称のスコープは、プログラム全体(グローバル)で参照可能となり、ユーザ関数内で定義する変数が、その関数内のみ(ローカル)のスコープとなることと異なります。
- 定義した定数の名称の文字連結した値を記述することも可能です。
- PHP5.3以降は、「const」による定数の定義(例:const GREET="こんにちは";)も可能です。
- マジカル定数は、使われ方によって変化する自動的に定義される定数です。
定数名 内容説明 __LINE__ ファイル上の現在の行番号 __FILE__ ファイルのフルパスとファイル名 __DIR__ ファイルの存在するディレクトリ(PHP5.3以降) __FUNCTION__ 関数名 __CLASS__ クラス名 __TRAIT__ トレイト名(PHP5.4以降) __METHOD__ クラスのメソッド名 __NAMESPACE__ 現在の名前空間の名前
(PHP5.3以降)
- 定数に指定できるのは、スカラデータ(boolean, integer, double, string) のみ(PHP5.6以前)で、一般的に定数の名称は、大文字の英数字を利用して、区別します。
- 予約された定数を取得する関数で一覧表示が可能です。
- 代数・代入・比較・論理演算子
PHPの演算子の詳細と優先順位(PDF)
※比較演算子で左辺、右辺の型が自動変換されることに注意が必要です。
PHPデータの比較演算子の型の論理値比較(PDF) - スコープ、参照渡しとユーザ関数の関連は、
PHPのメイン処理で利用する変数を「グローバル変数」、ユーザ関数内で利用する変数を「ローカル変数」と呼び、それぞれ利用できる有効範囲をスコープと呼びます。
メイン処理で設定したグローバル変数は、ユーザ関数内では利用できずスコープ外となるため、ユーザ関数内で利用するために、「global」を付加してグローバル変数であることを宣言する必要があります。
ユーザ関数の引数の変数名の前に「&」を付加した「参照渡し」の指定をすることでユーザ関数内で代入した内容がグローバル変数と同様な形で設定されます。 - 日付処理の代表的な関数は、
命令/関数 説明 プログラム内容 date()
mktime()
time()・date:ローカルの日付/時刻を書式化
・mktime():日付をタイムスタンプとして取得
・time:現在のタイムスタンプを返す「今日の日付表示」 「HTMLドキュメント上で日付・時刻の操作」
PHP基本プログラミングと文法
- フローチャートに対するPHP分岐・ループ処理の比較
のようにフローチャートからPHPプログラミングと対応付けて処理の流れを理解しましょう。 - 分岐・繰り返し(ループ)のプログラミングは、
- 配列操作の主な関数は、
配列の編集、配列のソート、配列のステータス情報、、配列のループ制御、配列の要素編集、配列の比較計算に大別され、多岐にわたる処理操作が可能です。PHPプログラミングは、配列をうまく利用することが基本レベル突破口となります。
PHP配列関連の関数一覧(PDF) - 配列関連の関数プログラミングは、
- 文字列操作の主な関数は、
string関数の文字列分割・配列統合(explode, implode)、文字列のフォーマット編集(sprintf 注:printf関数も同様な操作可能)、文字置換・削除(str_replace, trim, mb_strlen, mb_substr)、日本語「半角・全角」変換(mb_convert_kana)、ハッシュ値計算(md5, sha1)などの関数利用を習得します。
- 数値操作の主な関数は、
Math関数の小数点以下の上限(ceil)、下限(floor)、四捨五入(round)、乱数発生(rand, mt_rand)、2進10進変換(bindec)、10進16進変換(dechex)、16進10進変換(hexdec)などの関数利用を習得します。
- 可変変数の利用方法は、
可変変数は、変数の値をとり、変数の名前として扱い、変数名を動的にセットして利用します。
可変変数を配列で使用する場合はパーサがどの構文形式の変数かを判断する必要があり、例えば 「$$a[1]」と書いた場合、「$a[1]」を変数として使用したいときは「${$a[1]}」とし、「$$a」を変数とし[1]を変数の添え字としたいときは「${$a}[1]」とする構文を用います。