我什么时候应该 var_export(..., TRUE),什么时候是 FALSE?
When should I var_export(..., TRUE), when FALSE?
我有一个要写入文件的数组。此文件将包含在另一个脚本中,并读取和处理数组。
该数组包含使用 number_format(round($number, 2), 2, '.', '')
四舍五入到两位小数的浮点数(以保留零):
print_r($array,true);
Array
(
[0] => Array
(
[0] => 320
[1] => 128
[2] => 4.10
[3] => 4.10
)
[1] => Array
etc.
当我var_export
数组时,设置$return = FALSE
,它用引号括起来的定点数导出:
$data = '<?php $array =' . var_export($array, FALSE) . '; ?>';
file_put_contents ($filename, $data);
array (
0 =>
array (
0 => 320,
1 => 128,
2 => '4.10',
3 => '4.10',
),
1 =>
etc.
我var_export
和$return = TRUE
的时候没有引号:
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents ($filename, $data);
array (
0 =>
array (
0 => 320,
1 => 128,
2 => 4.10,
3 => 4.10,
),
1 =>
etc.
从测试中,我知道这两个代码在我的系统上执行相同。那我错过了什么?我什么时候应该使用 TRUE
什么时候使用 FALSE
,那些引号的目的是什么?
第二个参数定义var_export
是return它的值表示,还是直接echo
它。
看这个例子:
$x = array(1);
$r_false = var_export($x, false); // array ( 0 => 1, )
$r_true = var_export($x, true); // **nothing is printed**
var_export($r_false); // NULL
var_export($r_true); // 'array ( 0 => 1, )'
您提供的两个示例都应该有效,但如果它们生成相同的文件,我会感到非常惊讶。
以下是我对每个人的期望:
$array = array(1);
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents($filename, $data);
// contents of file:
<?php $array =array ( 0 => 1, ); ?>
//
// VS:
//
$array = array(1);
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents($filename, $data);
// contents of file:
<?php $array =; ?>
// Here the value of $data is NULL, which becomes ''
我有一个要写入文件的数组。此文件将包含在另一个脚本中,并读取和处理数组。
该数组包含使用 number_format(round($number, 2), 2, '.', '')
四舍五入到两位小数的浮点数(以保留零):
print_r($array,true);
Array
(
[0] => Array
(
[0] => 320
[1] => 128
[2] => 4.10
[3] => 4.10
)
[1] => Array
etc.
当我var_export
数组时,设置$return = FALSE
,它用引号括起来的定点数导出:
$data = '<?php $array =' . var_export($array, FALSE) . '; ?>';
file_put_contents ($filename, $data);
array (
0 =>
array (
0 => 320,
1 => 128,
2 => '4.10',
3 => '4.10',
),
1 =>
etc.
我var_export
和$return = TRUE
的时候没有引号:
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents ($filename, $data);
array (
0 =>
array (
0 => 320,
1 => 128,
2 => 4.10,
3 => 4.10,
),
1 =>
etc.
从测试中,我知道这两个代码在我的系统上执行相同。那我错过了什么?我什么时候应该使用 TRUE
什么时候使用 FALSE
,那些引号的目的是什么?
第二个参数定义var_export
是return它的值表示,还是直接echo
它。
看这个例子:
$x = array(1);
$r_false = var_export($x, false); // array ( 0 => 1, )
$r_true = var_export($x, true); // **nothing is printed**
var_export($r_false); // NULL
var_export($r_true); // 'array ( 0 => 1, )'
您提供的两个示例都应该有效,但如果它们生成相同的文件,我会感到非常惊讶。
以下是我对每个人的期望:
$array = array(1);
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents($filename, $data);
// contents of file:
<?php $array =array ( 0 => 1, ); ?>
//
// VS:
//
$array = array(1);
$data = '<?php $array =' . var_export($array, TRUE) . '; ?>';
file_put_contents($filename, $data);
// contents of file:
<?php $array =; ?>
// Here the value of $data is NULL, which becomes ''