首頁 > 後端開發 > php教程 > php5.4.0的一些小疑点

php5.4.0的一些小疑点

WBOY
發布: 2016-06-13 13:39:46
原創
836 人瀏覽過

php5.4.0的一些小问题
晚上刚刚更新了php5.4.0,环境是Windows7 + Apache2.2 + MySQL5.1 + PHP5.4.0,php.ini没有重新更新,仍然采用之前的版本(php5.2)
如题,有两个小问题:

1,php5.4.0的命名空间空间问题:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php namespace Foo;
class test{
/*hello php 5.4.0*/
}
?>
登入後複製

出现:
Fatal error: Namespace declaration statement has to be the very first statement in the script in F:\htdocs\rules.php on line 2
这是啥问题啊???怎样声明都没用。。。。直接copy手册的代码也出错。。。。是php5.4自己的错误还是我配置的问题??

2,直接贴代码吧:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$phpinfo = function (){
        echo 'hello world!';
    }
    
    phpinfo();
    $phpinfo();
登入後複製


错误代码:Parse error: syntax error, unexpected 'phpinfo' (T_STRING)
我想这不是啥问题,只是想知道它是为啥这样.如果直接重写覆盖会直接在函声明处产生一个致命错误,可是这里却能正常执行,而且直接覆盖掉了php内置方法(虽然不能正常输出),这应该不只是在5.4里面有,相信在其他版本里同样会有,是一个Bug吗??谢谢
另外,能不能给小弟我说说5.4版本的一些特性呢??
很久没敲php了,都有点生疏了,更别说是了解php的新特性了。。。。
再次感谢!

------解决方案--------------------
1.错误提示的很清楚了,估计是你的程序存有BOM头。2.这是给$phpinfo赋值,所以要在行末加上分号来正确关闭。
3.错误提示给你的路径你看看对不对
------解决方案--------------------
第一个应该是bom头的问题
第二个只是定义了$phpinfo是一个匿名函数,和phpinfo()没有半毛钱关系,并没有覆盖掉phpinfo(),后面加上';' 就正常了
新特性支持以下语法:
PHP code
//Short array syntax
$a=[1,2,3,4,5,6];

//Array dereferencing
function foo(){
 return array(1,2,3,4);
}
echo foo()[1]; <div class="clear">
                 
              
              
        
            </div>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板