当前位置: 首页 > 知识库问答 >
问题:

尝试组合常量和字符串[duplicate]时出现语法错误

翟功
2023-03-14

通常我不会在这里发布语法错误,但这个案例对我来说有点可疑。我试图用一个字符串组合一个常数。我在本地主机上工作正常,但当我在web服务器上推送项目时,它会告诉我:

Parse error: syntax error, unexpected '.', expecting ',' or ';' in xxx on line xxx

代码:

define("ROOT", str_replace("index.php", "", $_SERVER["SCRIPT_FILENAME"]));

$somePath = ROOT . "some/path"; //Synax error in this line

这与不同的PHP版本有关吗?(5.5在网络服务器,7.0localhost)

最新消息

代码中的一些更新:

class SomeClass {

    private $somePath = ROOT . "some/path"; //Synax error in this line

    ...
}

共有1个答案

江宏放
2023-03-14

定义contant时不能使用str\u replace()或任何函数。尝试:

define("ROOT", $_SERVER["SCRIPT_FILENAME"]);
$somePath = str_replace("index.php", "", ROOT) . "some/path";

请参考PHP手册:

在PHP5中,值必须是标量值(整数、浮点、字符串、布尔值或NULL)。在PHP7中,也接受数组值。

 类似资料:
  • 无法打印出格式错误弹出的结果。 尝试在没有getWaitingTime()和%-20d(最后一个)的情况下执行,它可以工作。 尝试执行1,并用getWaitingTime()替换seqNo,它可以工作。 不确定是什么错误。 它调用toString方法的部分。它从servicelist被称为。 至于错误是: JAVAutil。MissingFormatArgumentException:邮局的格式说

  • 我是初学C#的,我想为学校创建一个计算器,但是在第45行出现了一个错误。错误消息:字符串长度必须正好为一个字符。我认为在拆分String数组然后另存为char数组之后会有一个错误。但我不知道为什么,也许是假的。 代码部分: 错误消息由char[]发送。 我想我有一个从字符串[]分裂的翻译错误

  • 我是Java新手,在赋值时遇到了一些麻烦。我需要创建一个方法来检查一个双倍的值,如果它大于700美元,那么15%的折扣将应用于CourseFeesInCAD变量,并将布尔值设置为true。否则没有折扣,布尔值将设置为(或保持)为false。我对下面代码的问题(除了缺乏经验)是它给出了一个非法字符:\u0000错误。 我相信\u0000是空字符,但我没有任何字符类型变量。它似乎与行 当我注释掉该行时

  • 获取输入字符串,将其反转并用“-”进行解析: 输入:计算机 输出: 为什么这段代码会出现错误,以及如何删除错误? 出现以下错误: 主要的java:3:错误:类ClassSet15是公共的,应该在名为ClassSet15的文件中声明。java公共类ClassSet15{^1错误

  • 我尝试从长字符串中获取字符串,该字符串是Firebase URL 现在,如果您注意到上面字符串中姓名朱利安之前和之后的分数不足。我试图得到这个名字,但我正在得到 这是我的代码

  • 问题内容: 嗨,我无法执行以下功能而没有遇到以下异常。我不确定为什么会这样。我认为这可能与报价有关。如果有问题,我正在使用derby数据库。 这是我尝试执行的以下代码: 这是例外: 问题答案: 您的代码中有两个问题: SQL语句最后不需要分号。它将使代码失败。 该代码易于进行SQL注入并且难以维护。请改用: 这应该是工作代码: 在 大 平原字符串连接而这种做法对于你的情况之间的区别就是参数会逃跑任