var_export関数の使用方法
6376 ワード
var_export()関数は、関数#カンスウ#に渡された変数に関する構造情報を返し、var_dump()は同様であり,異なるのは,その返される表現が合法的なPHPコードであることである.var_exportは合法的なphpコード、すなわちvar_を返さなければならない.exportが返すコードは、phpコードとして直接変数を割り当てることができます.この変数はvar_exportのようなタイプの値です.次の簡単な例を見てみましょう.
プログラム出力:
なお、上記の出力は合法的なPHPコードです.var_を使えばdump()は、次のように出力されます.
関数の2番目のパラメータをTRUEに設定することにより、変数の表現を返すことができる.
プログラムの実行結果:
次の点に注意してください. var_export()は、構造化された形式でデータを格納する. しかし、特に覚えておいてください.このときの変数値のタイプは文字列($var)であり、配列で中の値を取り出すことはできません.
PHPCMSのソースコードには、チャンネルやコンテンツなど、多くの構成パラメータが配列で記録されていることがわかります.
拡張読書
この記事のトピックのリストは次のとおりです. PHP関数補完:get_magic_quotes_gpc() PHP関数補完:error_reporting() PHP関数補完:preg_match() PHP関数補完:urlencode() PHP関数補完:array_multisort() PHP関数補完:array_splice() PHP関数補完:isset() PHP関数補完:getenv() PHP関数補完:header() PHP関数補完:mysql_num_rows() PHP関数補完:list() PHP関数補完:mysql_query() PHP関数補完:mysql_fetch_array() PHP関数補完:number_format() PHP関数補完:explode() PHP関数補完:call_user_func() PHP関数補完:ImageCopyResamples() PHP関数補完:import_request_variables() PHP関数補完:parse_url() PHP関数補完:HTMLタグstrip_を削除するtags() PHP関数補完:出力配列構造と内容var_dump() PHP関数補完:var_export() PHP関数補完:変数が数値であるか否かを判断するis_numeric() PHP関数補完:session_name() PHP関数補完:session_id() PHP関数補完:nl 2 br()とnl 2 p()関数 PHP関数補完:shuffle()配列のいくつかのランダム要素を取る PHP関数補完:http_build_Query()構築URL文字列 PHP関数補完:stream_context_create()アナログPOST/GET
<?php
$arr = array ( 1 , 2 , array ( "apple" , "banana" , "orange" ));
var_export ( $arr );
?>
プログラム出力:
array (
0 => 1,
1 => 2,
2 =>
array (
0 => 'apple',
1 => 'banana',
2 => 'orange',
),
)
なお、上記の出力は合法的なPHPコードです.var_を使えばdump()は、次のように出力されます.
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(6) "orange"
}
}
関数の2番目のパラメータをTRUEに設定することにより、変数の表現を返すことができる.
<?php
$v = 'nowamagic';
$rs = var_export ( $v, TRUE );
echo $rs;
?>
プログラムの実行結果:
'nowamagic'
次の点に注意してください.
PHPCMSのソースコードには、チャンネルやコンテンツなど、多くの構成パラメータが配列で記録されていることがわかります.
function cache_write($file, $string, $type = 'array')
{
if(is_array($string))
{
$type = strtolower($type);
if($type == 'array')
{
$string = "<?php
return ".var_export($string,TRUE).";
?>";
}
elseif($type == 'constant')
{
$data='';
foreach($string as $key => $value) $data .= "define('".strtoupper($key)."','".
addslashes($value)."');
";
$string = "<?php
".$data."
?>";
}
}
$strlen = file_put_contents(PHPCMS_CACHEDIR.$file, $string);
chmod(PHPCMS_CACHEDIR.$file, 0777);
return $strlen;
}
拡張読書
この記事のトピックのリストは次のとおりです.