我使用var_export从html表单获取信息。
$info = var_export($_POST);
echo '<pre>';
$info;
echo '</pre>';
当我打印出$ info的内容时,这是输出:
array('name'=&gt;'a','address'=&gt;'b','city'=&gt;'c','state'=&gt;'d','zip'=&gt ;'1','手机'=&gt;'2','打开'=&gt;'3','关闭'=&gt;'4',)
这是正确的,但是当我将该变量传递给函数时:
validate($info);
function validate($data){
echo "Hello";
echo '<pre>';
$data;
echo '</pre>';
}
并尝试再次打印内容,它不会打印任何内容。我知道它会进入函数,因为“Hello”会打印出来。这里发生了什么?
感谢您的帮助
答案 0 :(得分:3)
试试这个:
function validate($data){
echo "Hello";
echo '<pre>';
print_r($data);
echo '</pre>';
}
答案 1 :(得分:3)
$data;
什么都不做。
尝试print_r($data);
或单个数组元素echo $data['name'];
答案 2 :(得分:1)
首先,只是把变量放在那里就不会输出它(据我所知)。 echo
它不起作用,因为它只输出类型Array
。您需要使用var_dump()
或print_r()
答案 3 :(得分:0)
又一个解决方案:
validate($info);
function validate($data){
echo "Hello";
echo '<pre>';
// Start capturing output
ob_start();
// var_dump() outputs the string.
var_dump( $data );
// print out everything captured since last call to ob_start()
echo ob_get_clean();
echo '</pre>';
}
ob_start()开始捕获任何输出。 ob_get_clean()将任何输出转储到字符串。执行此操作将准确打印出执行var_dump($ data)时所看到的内容。
答案 4 :(得分:0)
var_export
结合了将数组转换为字符串并打印数据的功能。您只需将变量放在脚本中就可以打印数据(或“回显”),就像使用$info;
行一样。
如果要按原样查看数组的内容,请使用前面所述的print_r($array)
。如果要查看使用var_export()
创建的字符串,请使用echo $data;
。
print_r($data);
将无效,因为在您的情况下$data
不是数组而是字符串。
以下是我要做的事情:
function validate($data){
echo "Hello!";
echo "<pre>";
print_r($data);
echo "</pre>";
}
validate($_POST); // since you actually must call the function after it's been declared