その他の関数(割と重要)
- 関数一覧
-
constant() /
define() /
defined() /
die() /
eval() /
exit() /
sleep() /
usleep()
- 機能一覧
-
スクリプトを終了する /
処理を遅延させる /
定数の定義・定義チェック・参照 /
文字列をPHPコードとして評価する
「die
」と「exit
」
スクリプトの処理を強制的に終了させる事が出来ます。終了させるには、「die
」もしくは「exit
」を使います。この2つは名前が違いますが全く同じものです。関数ではなく、PHPの言語構造であるため、パラメータ(引数)は「( )(丸括弧)」で括る必要がありません。
die()
- void die([string 捨て台詞])
- 「exit()」のエイリアス(別名)で、全く同じものです。
exit()
- void exit([string 捨て台詞])
- コールされた時点でスクリプトを終了します。
- 「捨て台詞」を指定すると、それを出力して終了します。
- 関数ではないので、最後に「( )(丸括弧)」を置く必要がありません。
- 「捨て台詞」を指定する場合は、引数を「( )(丸括弧)」で括る必要があります。
- 「捨て台詞」は文字列型の場合のみ出力します。数値を出力したい場合は型キャストする必要があります。
以下にサンプル。
<?php
//スクリプトを終了する
//exit;
//実行中の行数を出力して終了する
//die((string)__LINE__);
$error = false;
if($error)
die("エラーです。");
echo 'ほでなすPHPをよろしく、ね。<br />';
$error = !$error;
if($error)
exit("エラーです。");
echo 'ほでなすPHPをよろしく、ね。';
/*出力結果
ほでなすPHPをよろしく、ね。
エラーです。(終了)
*/
?>
エラー発生時の、エラーメッセージの出力やデバッグなんかに使います。
PageTop
sleep()
関数
- void sleep(int 秒数)
- 「秒数」の間、処理を遅延(中断?)します。
usleep()
関数
- void usleep(int マイクロ秒数)
- 「マイクロ秒(1000分の1秒)数」の間、処理を遅延(中断?)します。
PageTop
define()
関数
- bool define(string 定数名, mixed 値[, bool あいまい])
- 「定数名」という名前に定数「値(スカラー値のみ)」をセットします。
- 「あいまい」に「TRUE」を指定すると、定数名は大文字と小文字を区別しないで参照出来るようになります。デフォルト値は「FALSE」で、大文字と小文字は区別されます。
- 定義に成功すると「TRUE」を、失敗すると「FALSE」を返します。
defined()
関数
- bool defined(string 定数名)
- 指定した「定数名」が定義されているか否かを真偽値(TRUE/FALSE)で返します。
constant()
関数
- mixed constant(string 定数名)
- 指定した「定数名」の値を返します。
- 指定した「定数名」が未定義の場合はエラー(Warning)となります。
以下にサンプル。
<?php
$error_mes = '';
define('HODENASU', 'ほでなすPHP');
if(defined('HODENASU')){
echo HODENASU, '<br />';
echo constant('HODENASU'), '<br />';
}else
$error_mes .= '定数が定義されていません。<br />';
if(!define('HODENASU', 'ほでなすPHP'))
$error_mes .= '定数の再定義は出来ません。<br />';
if(!@define('APETOPE', array('あぺとぺPHP')))
$error_mes .= '指定された値は定数として定義出来ません。';
if($error_mes)
die($error_mes);
/*出力結果
ほでなすPHP
ほでなすPHP
定数の再定義は出来ません。
指定された値は定数として定義出来ません。
*/
?>
PageTop
eval()
関数
- mixed eval(string コード)
- 指定された「コード」をPHPコードとして評価(処理)します。当然、コードにミスがあればエラーになります。
- この関数は基本的に「NULL」を返します(もしくは何も返していない?)(マニュアルには「FALSE」と書いてますが…)が、「return文」を用いて(制御構造「include」の様に)、何かを返す事が出来ます(returnされた時点で「コード」の処理は終了します)。
以下にサンプル。
<?php
$hode = "ほでなす";
if(eval("\$hode = 'んでねがす';") === false)
echo $hode.'<br />';
else if(eval('$hode = "ねがす";') === NULL)
echo $hode.'<br />';
$code = <<< EOT
//\$hode = 'あいう';
\$hode = 'かきく';
/*\$hode = 'さしす';*/
return \$hode;
\$hode = 'たちつ';
EOT;
echo eval($code).'<br />';
echo $hode;
/*出力結果
ねがす
かきく
かきく
*/
?>
PageTop
作成日:2004年07月29日 最終更新日:2004年07月30日
【通常モード で表示】