《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
关于 LearnKu
高认可度评论:
这就是典型的UB(undefined behavior,未定义行为)。php手册明确指出:
简而言之:如果同一个语句中“求值”与“修改”同时出现,那么其执行顺序没有任何保证。
所以对于上边的程序,
$b得 2 或 3 都是对的,$d得 3 或 4 都是对的。事实上这个程序在不同的PHP版本下,就可以测试出不同的结果:
(以下结果来自于 http://sandbox.onlinephpfunctions.com/)
$b得 3 ,$d得 3$b得 2 ,$d得 3卧槽 这是为啥 都是 3
这就是典型的UB(undefined behavior,未定义行为)。php手册明确指出:
简而言之:如果同一个语句中“求值”与“修改”同时出现,那么其执行顺序没有任何保证。
所以对于上边的程序,
$b得 2 或 3 都是对的,$d得 3 或 4 都是对的。事实上这个程序在不同的PHP版本下,就可以测试出不同的结果:
(以下结果来自于 http://sandbox.onlinephpfunctions.com/)
$b得 3 ,$d得 3$b得 2 ,$d得 3简而言之,最终的结论:
$r = $a++;。但这个实践仍然不良,最好改掉。$a = 1;
$b = $a + $a++;
$b = 2 + 1;
echo $b;
????
@沙渺 执行顺序不能保证我不太理解,简单说不是从上到下吗?
@王东哲 指的是一条语句之内,各个部分的执行顺序。例如
$b = $a + $a++;这一条语句就有4个行为:+左侧的值:取$a+右侧的值:取$a,之后$a自增$b赋值。其中只有3和4的顺序是确定的,1、2的顺序不能保证。
@沙渺 谢谢,明白了
官方文档有说明
面试题碰到这个就 gg 了
@mingyun 面试碰到这种题目,难道不是扭头就走吗?