开发者社区 问答 正文

PHP5.3不识别双引号的问题? 400 报错

PHP5.3不识别双引号的问题? 400 报错 PHP的版本升级为5.3+以后,代码不能正常运行。报类似如下错误

Parse error: syntax error, unexpected T_STRING 。。。。

查了一下,发现凡是用到双引号的地方都出错。
就算写一句 $a = "abc";  都出错。改成 $a = 'abc'; 就没问题了。

不知道这个问题该怎么解决(⊙o⊙)?

展开
收起
爱吃鱼的程序员 2020-06-02 14:05:46 651 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    单独开个空白文件作测试呢?
    ######谢谢你的提醒,单独开了一个文件测试,没问题。应该是代码的问题。######感觉是前文有引号没结束######有可能是,我按这个思路找找######估计你用的是  Netbeans ,这东西会自作聪明,把括号,引号之类的删掉一般######我也不太了解都用了什么。不过,好像没有Netbeans--因为我还没他们提起过这个名字。######这绝对不是PHP的问题~######应该是代码的问题,可能是因为低版本的PHP不报相应的错,现在的PHP5.3严厉了,所以问题就暴露出来了。######

    太奇怪了!!!!

    调试了半天,发现不可以用  ”能“ 这个汉字!!

    只要某个字符串定义时,值里面有”能”这个字,那后面就不可以用单引号或者双引号。例如

    $a='能';的后面的代码中只要出现单引号就出错。
    $a="能";的后面的代码中只要出现双引号就出错。

    怪死了!!

    ######文件编码。
    ######我也觉得是不是可以改改编码解决问题。可以,应该用什么编码呢?######你能把报错信息完整贴上来么######

    引用来自“leo108”的答案

    你能把报错信息完整贴上来么

    文件名:test.php

    文件内容:

    <?php
    $a = 'abc能';
    $c='fsdf';
    echo $a; 
    ?>

    报错信息:

    PHP Parse error:  syntax error, unexpected T_STRING in /home/test/test.php on line 3
    ######

    暂时的结论:字符串变量的值的最后一个字是”能“时,会导致问题。

    暂时通过把所有以”能“结尾的字符串的”能“后面加个空格来解决了。

    不过,应该有更好的方法解决,暂时先这样了。

    ----不知道这算不算一个PHP的bug

    ######

    php 5.3.1 没有出现你所说的问题

    php 5.4.3 也没有出现你说的问题

    以上均使用 UTF-8 编码

    个人觉得没道理出现这样的问题。

    ######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用其他格式的吗?######我把我的测试代码改成UTF-8格式的,问题解决了。 UTF-8应该是默认的吧。有什么地方可以设置一下让我的代码可以采用非其他格式的吗?
    2020-06-02 14:05:59 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
PHP
问答标签:
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等