PHP公式資格教科書PHP5技術者認定初級試験対応

サポートページ

ダウンロード

本書のサンプルファイルをダウンロードできます。

データは、圧縮ファイル形式でダウンロードできます。圧縮ファイルをダウンロードしていただき、適宜解凍してご利用ください。

ダウンロード

補足情報

P.95、96、98、102、106

文字列の中で配列変数の値を参照する場合、以下の書き方で間違いではありませんが、クォートで明示的に配列の要素が文字列であることが望ましいとされます。

本文の記述
$_SERVER[SCRIPT_NAME]
望ましい記述
$_SERVER['SCRIPT_NAME']

同じく、P.102にも、$SERVER[SCRIPT_NAME]という表記が出てきますが、これも同じです。

P.108、116、194、195、197、199、213

書籍の中では、プログラムを簡単に見せるために、htmlentities() に、引数を1つしか指定していませんが、第3引数まで指定することがPHPマニュアルで推奨されています。

参考)htmlspecialchars()/htmlentities()
http://jp.php.net/htmlentities
http://blog.ohgaki.net/htmlentitiesa_raspa_a_afia_a_s

P.249の正規表現の表

正規表現は以下のように定義されていますが、[...]の部分は、Unicodeを想定しない、ASCIIモードでの一般的な理解の補足のために付けています。これらは、Unicodeオプションを付けた場合、異なる動作になる場合があります。

 正規表現

\d数字[0-9]
\D数字以外[^0-9]
\w単語[a-zA-Z0-9_]
\W単語以外[^a-zA-Z0-9_]
\s空白文字[ \t\n\r\f\v]
\S空白文字以外[^ \t\n\r\f\v]

正確な理解を得る場合には、PHPのマニュアルを参照してください。

参考)エスケープシーケンス
http://www.php.net/manual/ja/regexp.reference.escape.php

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしましたことを深くお詫び申し上げます。

P.9 プログラム2の拡張子

html
php

P.27 printf、sprintfの表

ptintf($format,$args...)
printf($format,$args...)

P.35 「変数の操作」の5行目のデクリメントの記述

$--
$i--

P.36 解説1

sgtrpos()
strpos()

P.51 問題2

問題文に「返り値の配列が空となるような$_POST['point']の値を2つ選択せよ。」とありますが、このソースでは文字列を代入しているので返り値が配列になることはありません。

2行目:$error = "";
4行目:$error = "Your point must be a number.";
6行目:$error = "Your point must be at least 70 and no more than 90.";
2行目:$error = array();
4行目:$error[] = "Your point must be a number.";
6行目:$error[] = "Your point must be at least 70 and no more than 90.";

P.73、74 問題2の解説

array()関数を使って連想配列をセットしたとき、配列キーは文字コード順にセットされます。
ksort()関数を使って連想配列をソートすると、配列キーは文字コード順に並び変わります。

P.101 HTMLの代表的なフォーム要素の表

</textare>
</textarea>

P.122 第7章の説明

ここでは、Webフォームを処理する方法を学びます。Webアプリケーションでは、ユーザが入力し送信したフォームの内容をサーバで処理する必要が生じます。では、PHPでどのようにフォームを処理したらよいのか確認していきましょう。
今や、Webアプリケーションの開発において、データベースを利用しないものは少数派と言えるかもしれません。データベースには、さまざまな情報を保存することになります。製品カタログや、ユーザ情報、日記のテキストや、イベント情報など多種多様な情報をこれに保存します。データベースを使うと、アプリケーションで使う情報を効率的に扱うことができます。これから、データベースについて、そして、PHPでデータベースを利用する方法について紹介します。

P.175 問題3ソースコードの3行目

session_auto_start
session.auto_start

P.194 プログラム1の4行目

条件式が書き込み可能な場合に「書き込みパーミッションがありません。」というメッセージを出力して終了するようになっていますので、メッセージどおり動作させるには、is_writable関数の前に否定の演算子「!」を付ける必要があります。

if (is_writable($afile)) {
if (!is_writable($afile)) {

P.219 「警告(Warning)」の4行目

動作を停止することはありませ。
動作を停止することはありません