配列を文字列に変換する。var_export、serialize、json_encode
$data = array( 'bool' => true, 'int' => 3, 'float' => 1.23, 'string' => 'test', 'array' => array('php', 'java', 'ruby'), 'key-value' => array( 'hot' => 'summer', 'cool' => 'autom', 'cold' => 'winter', ), );
この配列を文字列に変換!!!!!!!!!
1. var_export ()
$php = var_export($data, true); var_dump($php); /* string(267) "array ( 'bool' => true, 'int' => 3, 'float' => 1.23, 'string' => 'test', 'array' => array ( 0 => 'php', 1 => 'java', 2 => 'ruby', ), 'key-value' => array ( 'hot' => 'summer', 'cool' => 'autom', 'cold' => 'winter', ),)" */
- PHPとして解釈可能な文字列に変換
- インポートする直接的に対応する関数はない!
*eval()関数で文字列を評価する。(危険なのであまり使わない方向で)
2. serialize ()
$serial = serialize($data); var_dump($serial); // string(285) "a:6:{s:4:"bool";b:1;s:3:"int";i:3;s:5:"float";d:1.229999999999999982236431605997495353221893310546875;s:6:"string";s:6:"test";s:5:"array";a:3:{i:0;s:5:"php";i:1;s:6:"java";i:2;s:10:"ruby";}s:9:"key-value";a:3:{s:2:"hot";s:5:"summer";s:2:"cool";s:3:"auto";s:2:"cold";s:5:"winter";}}"
*型、大きさ、値を保持する!
* unserialiseで配列に戻してくれる!
3. json_encode()
$json = json_encode($data); var_dump($json); // string(143) "{"bool":true,"int":1,"float":1.23,"string":"test","array":["php","java","ruby"],"key-value":{"hot":"summer","cool":autom","cold":"winter"}}"
- json_decodeで配列に戻してくれる!