0

创建一个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 请求之间的输出不同。

4

0 回答 0