var_export関数の使用方法

6376 ワード

var_export()関数は、関数#カンスウ#に渡された変数に関する構造情報を返し、var_dump()は同様であり,異なるのは,その返される表現が合法的なPHPコードであることである.var_exportは合法的なphpコード、すなわちvar_を返さなければならない.exportが返すコードは、phpコードとして直接変数を割り当てることができます.この変数はvar_exportのようなタイプの値です.次の簡単な例を見てみましょう.
<?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'


次の点に注意してください.
  • var_export()は、構造化された形式でデータを格納する.
  • しかし、特に覚えておいてください.このときの変数値のタイプは文字列($var)であり、配列で中の値を取り出すことはできません. 

  • 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; }

    拡張読書
    この記事のトピックのリストは次のとおりです.
  • 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