PHPで提供される主なXML関数

DOM 関数 DOM(Document Object Model) で XML 文書を操作するための関数
XML パーサ関数 SAX (Simple API for Xml) で XML 文書を読み込むための関数
SimpleXML 関数 XML を簡単かつ容易にオブジェクトへ変換し、ランダムなアクセスを可能にする関数
XMLReader 関数 シーケンシャルな XML 文書読み込みの機能を提供する関数
XMLWrite 関数 シーケンシャルな XML 文書書き込みの機能を提供する関数
XSL 関数 XSLT (eXtensible Stylesheet Language Transformations) によるフォーマット変換を行うための関数

DOM と SAX は、 XMLデータを操作するための標準的な API 。
PHP 以外にも、 Java 、 Visual Basic 、 Perl などの代表的なプラットフォームで利用できる。
その反面、コーディングが複雑になりがち。

そこで、 XMLReader や XMLWriter 、 SimpleXml 関数群が登場。
PHP 固有の API (クラスライブラリ) であり、シンプルに記述できる。

カテゴリー: 未分類 | タグ: , | コメントする

SPL (Standard PHP Library)

定型的な作業を簡単に処理するために用意された標準的なクラスライブラリ。

参考→http://jp.php.net/manual/ja/book.spl.php

カテゴリー: 未分類 | タグ: | コメントする

ダブルクォートの中に変数を埋め込む時

ダブルクォートの中の文字列には変数を埋め込むことができる。
その時、変数と文字列の境目が明確になるように、文字列の中の変数は{・・・}で囲むのが通例。

【例】

$tmp = " {$name}さん、こんにちは!\n ";
カテゴリー: 未分類 | タグ: , | コメントする

ファイルオープン(fopen)に失敗した場合の対処方法

fopen 関数は、ファイルのオープンに失敗した時にFALSEを返し、警告(Warning)を発生する。
この様な類のエラーに対し、警告を発生させたくない場合はエラー制御演算子である「@」を使う。

【例】

$file = @fopen('testfile.dat', 'rb') or die('ファイルが開けませんでした。');

上の例では、@演算子を fopen 関数の前に付けたので、ファイルのオープンに失敗しても警告を発生しません。
しかし、その後にそのままスクリプトの実行を継続されても困る場合が多いはずです。

そこで登場するのが「or die」です。

【構文】

die(エラーメッセージ)

エラーメッセージを出力し、スクリプトの実行を直ちに終了する。

fopen ・・・ or die ・・・」はよく見かける記述。決まり文句として覚えておけば良い。

カテゴリー: 関数 | タグ: , , , | コメントする

外部ファイルを取り込む(require_once関数)

【構文】

require_once 外部ファイルのパス

指定されたスクリプトを現在のスクリプトにインクルードする。

require_once 関数は外部ファイルを php.ini の include_path パラメータで指定されたパスを基準に検索する。
パスは「:」区切りで複数個記述することができる。

カテゴリー: 関数 | タグ: , | コメントする

PHPで利用できる主なエスケープシーケンス

主なエスケープシーケンス

文字 概要
\n 改行(ラインフィード)
\r 復帰(キャリッジリターン)
\t タブ
\$ ドル記号
\\ 円記号/バックスラッシュ
\” ダブルクォーツ
\nn 8進数文字(nnは文字コード)
\xnn 16進数文字(nnは文字コード)

文字列の中にエスケープシーケンスを含める時は、文字列をダブルクォート(“)で囲む必要がある。
※「\’ (シングルクォート)」「\\」だけは、シングルクォートの中でもエスケープシーケンスとして認識される。

カテゴリー: 未分類 | タグ: | コメントする

コーディング規約

PEARのコーディング規約
http://pear.php.net/manual/ja/standards.php

Zend Framework
http://framework.zend.com/manual/ja/coding-standard.html

Zend Frameworkはわかりやすくまとめられている。
コーディングのフォーマットに迷ったら参考にすると良い。

カテゴリー: 未分類 | タグ: | コメントする

日付の妥当性をチェックする関数 checkdate

日付の妥当性をチェックする関数。

checkdate(月, 日, 年)
指定された日付が不正である場合にFALSEを返す。

checkdate関数は、以下の基準で妥当性を検証する。

  • 年の範囲は1~32767である。
  • 月の範囲が1~12である。
  • 日が指定された年月の日数に含まれる。(うるう年も認識)

▼サンプルコード

<?php
print("2012年2月のカレンダー<br />");
for( $i = 1; $i < 40; $i++ ) {
  if ( checkdate(2, $i, 2012) )
  print( $i . "<br />" );
}
 ?>

▼実行結果

2012年2月のカレンダー
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

※2012年はうるう年。

カテゴリー: 関数 | タグ: , | コメントする

数値データを整形する関数 number_format

数値データを加工して整形したいという状況に利用できる関数。

  • 小数点以下の桁数を揃えたい。
  • 桁区切り文字を加えたい。

など。

number_format( 加工したい数値 [ , 小数点以下の桁数 [ , 小数点の区切り文字 [ , 桁区切り文字 ] ] ] )

▼サンプルコード

<?php print( number_format(1234.5678, 2) ); ?>

▼実行結果

1,234.57
カテゴリー: 関数 | タグ: , | コメントする

乱数を生成する関数 mt_rand関数

ランダムな値を生成する関数。

mt_rand(最小値, 最大値)
引数で指定された範囲の乱数を生成します。
オプションの引数を付けずにコールした場合、最小値0 から 最大値はmt_getrandmax() の間の擬似乱数値を返します。(※mt_getrandmax()は環境により返す値が変わります。)

▼サンプルコード

<?php print("昨日のあなたは・・・<strong>" . mt_rand(1, 100) . "点</strong>!"); ?>

▼実行結果

昨日のあなたは・・・93点

ちなみにこのサーバの環境でのmt_getrandmax()の値は、
2147483647です。

カテゴリー: 関数 | タグ: | コメントする