今天学习PHP的时候遇到这么问题。
function filter($fun){
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i)))
continue;
echo $i."
";
}
}
//求被三整除
function one($num){
return $num % 3 ==0;
}
//翻转字符串
function two($num){
return $num == strrev($num);
}
filter("one");
echo "
";
filter('two');
显示结果
function filter($fun){
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i))){
continue;
echo $i."
";
}
}
}
//求被三整除
function one($num){
return $num % 3 ==0;
}
//翻转字符串
function two($num){
return $num == strrev($num);
}
filter("one");
echo "
";
filter('two');
不显示结果。以上两端代码不是同一个意思吗?
回复内容:
今天学习PHP的时候遇到这么问题。
function filter($fun){
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i)))
continue;
echo $i."
";
}
}
//求被三整除
function one($num){
return $num % 3 ==0;
}
//翻转字符串
function two($num){
return $num == strrev($num);
}
filter("one");
echo "
";
filter('two');
显示结果
function filter($fun){
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i))){
continue;
echo $i."
";
}
}
}
//求被三整除
function one($num){
return $num % 3 ==0;
}
//翻转字符串
function two($num){
return $num == strrev($num);
}
filter("one");
echo "
";
filter('two');
不显示结果。以上两端代码不是同一个意思吗?
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i)))
continue;
echo $i."
";
}
等价于
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i))){
continue;
}
echo $i."
";
}
不管你if是不是真,都会执行,php不是python哦。不是说缩进就是一个语句块
php的if和C的if一样。
不加大括号就到分号,加了大括号就是大括号内的东西。
for($i=0; $i<=100; $i++){
if(call_user_func_array($fun, array($i))){
continue;
echo $i."
";
}
}
这段程序是错的,因为echo $i."
";永远不会被执行
if(true){}:
phpif(true){
//这个花括号里的代码都会执行
}
而if(true):
phpif (true) echo(233);//只有这个echo(233);才是属于if判断
echo time();
区别就是if(true)只有后面一句且必须有一句是条件为真的执行代码,而if(true){}的花括号里的代码都是条件成立的执行代码,且可为空
相关标签:php
本文原创发布php中文网,转载请注明出处,感谢您的尊重!