以下两行代码之间的区别是什么?

时间:2011-10-13 15:01:22

标签: php echo undefined-index

我想知道为什么世界上第一行代码:

echo('"'.$row['$Id'].'"');

导致输出:“” 而第二个:

echo('"');
echo($row['Id']);
echo('"');

“71”的结果正是我想看到的......? 我确信有一些简单但我不知道那是什么。

3 个答案:

答案 0 :(得分:7)

在第一行中,您在Id之前有一个美元符号,而在第二行中它只是Id。

由于两个数组索引包含不同的值,因此输出不同。

此外,我建议您在开发时将错误报告启用到最高级别,因为它会为您提供有关键入代码时可能发生的常见错误的警告。

您可以通过在脚本顶部添加以下两行来完成此操作:

error_reporting(~0);
ini_set("display_errors", "1");

或通过更改PHP配置。

答案 1 :(得分:5)

您需要从代码中删除$

echo '"'.$row['Id'].'"';

或者你需要$添加它:

echo('"');
echo($row['$Id']);
echo('"');

取决于您想要达到的目标。

答案 2 :(得分:3)

$row['$Id']
$row['Id']

仔细看......