基于PHP编程注意事项的小结(6)

看似也能得到结果,但其实很不严谨,并且很浪费cpu,因为这个循环会一直在不停的调用,直到所有链接处理完毕,在循环里面加个print 'a' 就可看出效果了。


11、empty使用魔术方法__get判断对象属性是否为空不起作用

Please note that results of empty() when called on non-existing / non-public variables of a class are a bit confusing if using magic method __get (as previously mentioned by nahpeps at gmx dot de). Consider this example:

复制代码 代码如下:


<?php
class Registry
{
    protected $_items = array();
    public function __set($key, $value)
    {
        $this->_items[$key] = $value;
    }
    public function __get($key)
    {
        if (isset($this->_items[$key])) {
            return $this->_items[$key];
        } else {
            return null;
        }
    }
}

$registry = new Registry();
$registry->empty = '';
$registry->notEmpty = 'not empty';

var_dump(empty($registry->notExisting)); // true, so far so good
var_dump(empty($registry->empty)); // true, so far so good
var_dump(empty($registry->notEmpty)); // true, .. say what?
$tmp = $registry->notEmpty;
var_dump(empty($tmp)); // false as expected
?>


12、Linux下命令行执行php文件的格式必须是unix。

php ./test.php
如果test.php是windos上传的,其格式可能是dos。
然后运行该命令就报错:Could not open input file

我们可以在vi中使用:set ff来查看格式:

fileformat=dos


如果是dos格式,那么就要使用:set ff=unix来设置新格式


再使用:set ff来查看格式,可以看到已经是unix的格式了;


fileformat=unix

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e149b6fd7700581b5cab3c74f1873957.html