创建一个PHP
包含以下内容的文件:
<?php
function something( $value )
{
echo "something: ".isset( $value['i'] )."\n";
}
$value1 = "I'm a string";
$value2 = array( "aString" => "I'm also a string, but inside an array");
something( $value1 );
something( $value2 );
?>
保存文件,打开浏览器,指向文件所在的站点。你会得到这样的东西:
something: something:
启动你想要的控制台程序,然后运行:
<prompt> php -f <path/to/file.php>
你会得到:
something: 1
something:
为什么?我不是在谈论换行符的区别,因为浏览器正在呈现HTML
并且我没有放置<pre>
标签。相反,对于检查字符串中的索引的情况,我看到isset()
返回方式FALSE
和通过命令行返回 1 的逻辑有所不同。
我想到了这个问题,因为相同的代码在命令行和 HTTP 请求之间的输出不同。