psr-4实例类实现中的loadclass()方法中的
while (false !== $pos = strrpos($prefix, '\\'))
这行代码应该如何理解?
我觉得应该是:
while (false !== ($pos = strrpos($prefix, '\\')))
问题已经解决:参见 PHP运算符优先级手册中的‘Notice’:尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a
如何强制使PHP遵守约定,此问题不知有没有大神告知?
这本书并不是一本语言参考书,但它是一个Android开发者去学习Kotlin并且使用在自己项目中的一个工具。我会通过使用一些语言特性和有趣的工具和库来解决很多我们在日常生活当中都会遇到的典型问题。 这本书是非常具有实践性的,所以我建议你在电脑面前跟着我的例子和代码实践。无论何时你都可以在有一些想法的时候深入到实践中去。 这本书适合你吗? 写这本书是为了帮助那些有兴趣 使用Kotlin语言来进行开发的Android开发者。 如果你符合下面这些情况,那这本书是适合你的: 你有相关Android开发和Andro
回复内容:
psr-4实例类实现中的loadclass()方法中的
while (false !== $pos = strrpos($prefix, '\\'))
这行代码应该如何理解?
我觉得应该是:
while (false !== ($pos = strrpos($prefix, '\\')))
问题已经解决:参见 PHP运算符优先级手册中的‘Notice’:尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a
如何强制使PHP遵守约定,此问题不知有没有大神告知?
就是你这么理解的。
赋值的操作符的优先级高于比较操作符的优先级,所以会先进行赋值操作。
赋值操作符的返回值就是操作符的右值。
更新:
赋值操作符的的优先级比比较操作符的优先级低,但是PHP里有特殊的语法技巧:
Note: 尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a。









