PHP 1 : はじめてのPHPプログラミング

キーフレーズ

PHP echo php 文字列 echO アプリケーション KEYWORD Web プログラム 演算子 関数 変数 -1 ファイル 場合 value array 実行 true HTML 利用 HTTP プラウザ 配列 処理 -2 false データ プログラミング 結果 リクエスト Windows ローカルイントラネットー 表示 連想配列 Apache -3 myFunc ディレクトリ リソース http:// タイムスタンプ サーバー while レスポンス -4 else 条件 require 作成 コード XAMPP クライアントサイド GET function 記述 break 引数 優先順位 string ループ var 戻り値 言語 文字 モード 操作 VALUE 指定 file コンピュータ switch http できる foreach () メッセージ 定数 pre date プログラミング言語 機能 include POST html 呼び出し 情報 test 100 代入 elseif ソースコード 表現 path ション ブラウザ 進数 スコープ

目次

目次 目次 はじめに 本書の対象となる読者・・ 本書で学習するための前提知識・ プログラミング学習シリーズ PHP の構成 付録 CD-ROM の内容について・ 第 1 章プログラミングの基礎知識と Web アプリケー ション 1 -1 OS とアプリケーション 3 ハードウェアとソフトウェア・・ 3 OS は何をするのか①ハードウェア制御 4 OS は何をするのか②ソフトウェア制御 6 1 -2 アプリケーションが動くには アプリケーションが動くには、〇 S が解釈できるプログラムが必要 11 プログラムとは何か①コンバイル型言語 12 プログラムとは何か②インタブリタ型言語 14 1 -3 Web アプリケーションについて知ろう Web アプリケーションとローカルアプリケーション Web アプリケーションの特徴① HTML— Web アプリケーションの特徴②一言語ー Web ブラウザ内で動くプログラム 22 クライアントサイドプログラムの動作 23 サーバーサイドプログラムの実行①パフォーマンス 24 サーバーサイドプログラムの実行②リクエスト 26 28 1 練習問題 第 2 章 PHP と Web アプリケーション 29 2-1 PHP とは PHP とはどんな言語か PHP の利用範囲 2-2 Web アプリケーションの基礎 PHP とⅣ W の仕組み HITP リクエストと HITP レスポンス HT 「 P のサンプル HTTP リクエスト リクエストのヘッダ情報 リクエストのボディ情報 HI 丁 P レスポンス レスポンスのヘッダ情報 レスポンスのボディ情報 1 1 CO 4 ・ 4 LO 5 6 8 8 9 1- 4- CO ( 0 3 ( 0 CO っ f) ( 0 CO ( 0 ( 0 っ ) 4 4 一

・Ⅵ〃 目 次 5 尸 0 一 5 8 ワ」 4- 「 / 1 4 4 4 4 5 5 5 5 6 2-3 実際に試してみよう HTTP プロトコルを試してみる GET リクエストの送信 ホスト指定したリクエスト 2-4 PHP 実行環境の準備 PHP の実行環境 XAMPP のインストー丿レ 単純な PHP プログラムの実行 練習問題 第 3 章 PHP の基本と変数 3-1 プログラミングの基礎知識 プログラムを書くためのツー丿レ PHP のプログラムの書き方 プログラムの実行方法 ステートメント ( 文 ) ・ コメントの使い方・ 変数の作り方 値の格納 変数の利用 3-3 データ型 型とは PHP が扱う型 スカラー型 63 5 CD 「 / 8 0 1 4 4 一 5 「 / 0 1 C\I ( 0 1 3-2 変数 練習問題 第 4 章演算子と優先順位 93 95 96 96 115 119 1 19 122 4 ー 1 演算子 プログラミングにおける演算子 さまざまな演算子 演算子の優先順位 4-2 型の自動変換とキャスト 型の自動変換 キャスト・ 練習問題 第 5 章定数と配列 定数と変数の違い 123 125 125 5 ー 1 定数

目 次 5 ー 3 5-2 予約語 あらかじめ用意されている変数 配列 連想配列の要素追加 データの代入 連想配列へのアクセス 連想配列の作成 連想配列とは 連想配列 配列の演算子 要素の追加 データの代入 配列へのアクセス 配列の作成 配列とは 定義済みの定数 練習問題 第 6 章制御構文 6 ー 1 6-2 条件分岐 条件分岐の仕組み if 文 else 文 elseif 文 switch 文 条件分岐の注意点 ループ処理 繰り返し処理の基本 while 文 break と continue do ~ while 文 for 文 foreach 文 練習問題 第 7 章関数 7-1 外部ファイルの読み込み include 文と require 文 include once 文と require— once 文 128 129 130 132 133 133 134 136 ・ 137 139 141 141 142 143 143 144 148 149 151 152 152 155 157 160 164 170 173 175 177 179 181 183 185 185 188

目 次 7 ー 2 7 ー 3 7 ー 4 関数 関数の基礎知識 関数の呼び出し・ 関数の作成 参照渡し 可変引数と可変関数 変数のスコープ 関数内外でのスコープの違い ローカルスコープとグローバルスコープ $GLOBALS 変数 静的 (static) 変数 言語構造について 言語構造とは何か ech0 と print の違い list() について 練習問題 第 8 章 PHP のいろいろな機能 8-1 8 ー 2 8-3 8-4 8 ー 5 8-6 文字列操作 マルチバイト文字と ASCII 日付操作 UN Ⅸタイムスタンプについて GMT とタイムゾーン 配列操作 PHP の配列操作・ ファイル操作 ファイル操作の基本とリソース テキストデータとバイナリデータ ディレクトリ操作・ 変数操作 変数に対する操作 HTML ファイルからの情報の取得 Web アプリケーションを作成する G を利用する POST を利用する 練習問題 練習問題解答および解答例 索引 190 192 196 200 204 207 ・ 207 ・ 209 212 212 214 214 215 216 218 219 221 221 231 231 232 236 236 244 ・ 244 ・ 245 251 258 258 264 264 264 267 270 ・ 271 282

・ 282 索引 記号 $ { 変数名 } ・ $GLOBALS 変数・ 番号 1 行コメント 2 進数・ 10 進数 10 進数 / 8 進数 / 16 進数・ 64 ビット旧 EE フォーマット Apache ・ ASCII•• b00 an ・・ break ・ Client Error ・ continue die double ・ dO ~ while 文 echO ・ false ( 偽 ) ・ float foreach 文・ for 文 GET バラメータ ・ 75 ・・・ 212 GET メソッド ・ 67 glObaI キーワード・・ GMT ・ HTML (Hyper Text Markup Language) ・ HTML タグ HT 「 P (Hyper Text Transport Protocol) ・ H 幵 P サーバーアプリケーション・ HT 「 P バージョン・・ H ・ TTP プロトコル・・ HTTP リクエスト・ HITP レスポンス・・ include once 文 include 文・ lnformational interger ・・ レ 0 ・ main 関数 ・ 68 M Ⅳ E タイプ・・ 84 mod—ph p ・・・ 175 0 OS ・ PHP POST メソッド・・ rea ・ Redirection require_once 文 require 文 ・・・ 265 ・・ 37 , 264 ・・・ 209 ・・・ 232 9 ( 0 8 9 「 / 4 LO 一 0 1- 「 / -1 ( 0 ( 0 ( 0 っ f) ( 0 ・ 69 ・・・ 222 ・ 83 ・・ 173 ・・・ 188 ・・・ 185 ・ 84 ・・・ 174 8 つ」 C) ( 0 ュ・ ( 0 ・ 70 ・ 68 ・ 20 , 31 ・・ 37 , 264 ・ 83 ・ 84 ・・・ 179 ・・・ 177 ・ 84 ・・ 188 ・・・ 185

283 ・ 索引 力行 ・ 41 改行コード・ 拡張子 (. php) ・・・ 212 ・ 86 加算子 / 減算子・・ 型・ ・ 41 型の自動変換・ 可読性・・ ・ 45 可変関数・ ・ 83 可変引数・・ 関数・ キ行 ・・ 231 キー ( 添字 ) ・・・ 231 キャスト・・ ク行 ・ 33 クライアントサイドアプリケーション グローバルスコープ・ ・・・ 171 ケ行 言語構造 コ行 後置・ コマンドプロンプト ・・・ 188 コメント・ ・・・ 105 コンソール ・ 14 コンバイラ型言語・・ コンバイル・・ ・ 14 , 32 コンバイル型言語・ ・・ 135 サ行 ・ 89 サーバーサイドアプリケーション・ 三項演算子・ ・・・ 108 ・ 96 参照渡し・・ シ行 識別文字・ ・ 53 指数・ Server Error ・・ static キーワード・ string Successfu い telnet ・・ true ( 真 ) UNIX epoch ( エボック ) ・・ UN Ⅸタイムスタンプ・ ・・・ 248 ・ 67 ・・・ 105 ・ 74 , 80 82 , 103 , 119 ・・ 164 ・・・ 205 ・・・ 204 ・・ 191 ・・・ 133 ・・ 121 Web アプリケーション Web サービス while 文 ア行 値・ 値渡し・ アプリケー ション・ イ行 依存・・ インクリメント・・ インストール・・ インタブリタ・ インタブリタ型言語 インデックス・ ェ行 工スケープシーケンス・ 工ラー制御演算子・・ 演算子・・ オ行 オープンソース・・ オペレーティングシステム・ ・ 22 ・・・ 209 ・・・ 214 ・ 74 ・・ 201 CD 「 / に ) 1 8 ワ」 1 ワ」 0 ( 0 4 ・「 / CD -1 ・イーっ 18 , 31 ・・・ 110 ・・ 200 ・ 90 86

・ 28 / 索 引 実行演算子・ 自動的に設定される定数 シフト・ 条件分岐・ シングルクオート・ シングルタスク・・ ス行 スカラー型 スコープ・・ ステータスコード・ ステータスメッセー シ・ ステートメント・ セ行 整数・ 静的言語・ 絶対パス・・ ゼロ除算・ ソ行 相対パス・・ ソースコード・ ソフトウェア タ行 代数演算子・ 代入・・ 代入演算子・・ タイムゾーン ダブルクオート・・ テ行 定数・ ディレクトリ・ テキスト・・ テキストエデイタ・ テキストデータ デクリメント・ デフォルト引数 展開・ ・・ 107 ・・ 131 ト行 ・・・ 114 統合開発環境 (IDE) ・・ ・・・ 152 ・ 86 動的言語・ 特別な型・ 82 入力値・ ・・・ 207 ネ行 ・ 40 ・ 40 ネスト・・ ・ 70 ハイ丁 ハードウェア・ バイナリ・・ ・ 84 バイナリデータ・ ・ 32 配列・・・ ・ 186 配列式・ ・・・ 109 バックスラッシュ・ ハッシュテーブル・ ・・・ 186 ヒ行 ・ 12 ヒアドキュメント・ ・・ 239 比較演算子・・ 引数・ 左結合・ ・ 96 ビット演算子・ 75 , 97 フ行 ・ 97 ・・・ 232 ファイルシステム・ ・ 86 複合演算子・・ 複合型・・ 複数行コメント・ 符号・・ ・・・ 126 ・・ 67 , 251 浮動小数点数・ ・ 11 フローチャート・・ ・ 66 プログラミング言 = き五 プロック・・ ・・ 66 , 245 ・・・ 105 文・ ・・・ 199 ・・・ 159 (D つ」ワ」 ( 0 ( 0 8 ・ 26 ・・・ 154 ・・・ 245 ・・・ 133 ・・・ 179 ・ 89 ・・・ 141 ・ 90 ・・・ 102 ・・・ 191 ・・ 116 ・・・ 245 ・・・ 111 82 84 84 ・・ 152 ・ 12 ・・・ 152 ・ 70

索 引 285 ・ ・・ 74 , 179 へ行 ヘッダ・ ヘッダ情報 変数・ 変数の宣 ホ行 ボディ・・ マ行 前置・ マジック定数・ マップ・・ マルチタスク・・ マルチバイト文字 マルチメディア・ 丸め誤差・ 丸め処理 右結合 ム行 無限ループ・・ メ行 メソッド・ メディアタイプ・・ モ行 文字コード 文字符号コード・・ 文字列・・ 文字列演算子・・ 戻り値・ ユ行 ユーザー定義関数・ 優先順位・ ・ 43 ・・・ 222 ・ 42 ・ 37 ・・・ 116 ・ 35 ・・ 179 ・・・ 121 ・・ 121 ・ 33 ・・・ 222 ・・・ 141 ・・・ 130 ・・ 106 ・ 76 ・ 38 ・ 35 ・・・ 115 ・・ 196 ・・ 191 ・・ 105 78 , 86 ヨ行 要素・ 予約語 リ行 リクエスト・・ リクエスト行・ リクエストバラメータ リクエストメッセー リソース・・ ル行 ループカウンタ・・ ループ処理・ レ行 レスポンス・・ レスポンス行・・ レスポンスメッセー 連想配列・・ ロ行 ローカルアプリケーション・ ローカルスコープ・・ ロック・・ 論理演算子・ 論理値・ ワ行 割り込み・・ シ・ シ・ ・・・ 134 ・・・ 128 17 , 69 ・・・ 172 ・ 27 ・ 39 ・ 36 ・・・ 6 , 36 , 245 ・・・ 163 ・ 83 ・・・ 100 ・・・ 249 ・・・ 209 ・ 17 ・・・ 141 ・ 27 ・ 39 17 , 69

奥付

著者紹介 漢祐介 ( はたゆうすけ ) 1984 年生まれ。北海道出身。学生時代、北海道での PHP コミュニティ参加後オープンソース活動 に興味を持つ。 2005 年ころから Seasar ファウンデーションにて PHP によるオープンソース開発 に携わってきた。 Java による開発を数年経験後、現在、株式会社フィルモア・アドバイザリー所属。 装丁 : イイタカデザイン飯高勉 組版 : 株式会社シンクス が プログラミング学習シリーズ ビーエイチビー PHP ① はじめての PHP プログラミング 2009 年 1 月 28 日初版第 1 刷発行 著者 漢祐介 ( はたゆうすけ ) 発行人 佐々木幹夫 株式会社翔泳社 (http://www.shoeisha.co.jp) 発行所 印刷・製本株式会社シナノ ◎ 2009 HATA, Yusuke ※本書は著作権法上の保護を受けています。本書の一部または全部について ( ソフトウェアおよびフログラムを含む ) 、株式会 社翔泳社から文書による許諾を得ずに、いかなる方法においても無断で複写、複製することは禁じられています。 ※本書へのお問い合わせについては、Ⅱページに記載の内容をお読みください。 ※落丁・乱丁はお取り替えいたします。 03-5362-3705 までこ連絡ください。 lSBN978-4-7981-1802 ー 4 Printed in Japan