请教:php代码执行顺序?
有时候会看到看上去比较复杂的php语句,比如:$arr=array(1,2,2,3,4,5,6,7,8);var_dump(implode(array_reverse($...
有时候会看到看上去比较复杂的php语句,比如:
$arr = array(1,2,2,3,4,5,6,7,8);
var_dump(implode(array_reverse($arr)).array_shift($arr).implode(array_flip($arr)).'suffix');
请问,为什么里面的函数先执行,最后是var_dump,这个有什么依据和说法吗,有什么解释吗?
php编译器是如何认识里面的这个函数并先执行的呢?
请教,谢谢、 展开
$arr = array(1,2,2,3,4,5,6,7,8);
var_dump(implode(array_reverse($arr)).array_shift($arr).implode(array_flip($arr)).'suffix');
请问,为什么里面的函数先执行,最后是var_dump,这个有什么依据和说法吗,有什么解释吗?
php编译器是如何认识里面的这个函数并先执行的呢?
请教,谢谢、 展开
2个回答
展开全部
这个是运算符的优先级的问题。就像简单的加减法一样。
a=(123+456+(12*12)+(11*11+(12+23)))
他是先算括号里面的,然后括号里面又有括号。
a=(123+456+(12*12)+(11*11+(12+23)))
他是先算括号里面的,然后括号里面又有括号。
追问
那只能理解说 函数用于接受参数的()的优先级是高于点号的。
请教:为什么这段代码输出结果不正常呢。
add((6+7), (9+7));
function add($a, $b){
var_dump('jackson'.var_dump( ($a + $b).'jackson' ));
追答
add((6+7), (9+7));
function add($a, $b){
var_dump('jackson'.var_dump( ($a + $b).'jackson' ));
}
你的语法错了,少了一个‘}’符号。
执行的结果是:
string(9) "29jackson" string(7) "jackson"
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-03-10
展开全部
这个还真不好说!
php也是人创造出来的, 自然也是遵照人的基本思维不是!
计算机技术是和数学息息相关的!
数学上来说, 不正是先运算括号内,而且是最里面的括号优先吗?
如果都违反这个定律, 那括号岂不是失去了意义? 而且程序也没法正常运行起来不是?
php也是人创造出来的, 自然也是遵照人的基本思维不是!
计算机技术是和数学息息相关的!
数学上来说, 不正是先运算括号内,而且是最里面的括号优先吗?
如果都违反这个定律, 那括号岂不是失去了意义? 而且程序也没法正常运行起来不是?
追问
那只能理解说 函数用于接受参数的()的优先级是高于点号的。
请教:为什么这段代码输出结果不正常呢。
add((6+7), (9+7));
function add($a, $b){
var_dump('jackson'.var_dump( ($a + $b).'jackson' ));
追答
语法本身就错误!
理解优先级之前,请先理解php最基本的语法先!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询