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

Jan*_*ski 0 php echo undefined-index

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

echo('"'.$row['$Id'].'"');
Run Code Online (Sandbox Code Playgroud)

结果输出:""而第二个:

echo('"');
echo($row['Id']);
echo('"');
Run Code Online (Sandbox Code Playgroud)

结果在"71",这正是我想看到的......?我确信有一些简单但我不知道那是什么.

JoL*_*oCo 7

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

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

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

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

error_reporting(~0);
ini_set("display_errors", "1");
Run Code Online (Sandbox Code Playgroud)

或者通过更改PHP配置.

  • @Topener没有描述的代码不一定比解释什么是错误更好.正如那句老话所说的那样,"给一个人一条鱼,你会喂他一天,教他钓鱼,你会养他一辈子".PS我在所有这些问题中都没有给出任何赞成 (2认同)

Ren*_*Pot 5

您需要$从代码中删除:

echo '"'.$row['Id'].'"';
Run Code Online (Sandbox Code Playgroud)

或者你需要$添加它:

echo('"');
echo($row['$Id']);
echo('"');
Run Code Online (Sandbox Code Playgroud)

取决于您想要实现的目标.