
你可以在判断是否为3的倍数之前先判断是否包含数字3,如果包含则输出。代码示例如下:
for ($i = 1; $i <= 50; $i++) {
if (strpos((string)$i, '3') !== false || ($i % 3) == 0) {
print $i "<br />";
}
}
其中,strpos()函数用于判断一个字符串中是否包含另一个字符串,如果包含则返回该子字符串在原字符串中的位置,否则返回false。要注意的是,数字需要先转换成字符串类型才能使用strpos()函数。
这个要根据实际情况,需要返回值的话,你可以加return,不需要的话,你可以不加,两者的区别一是在于实际需求不同,二是在于加了return的话,程序运行的响应时间上会稍稍的长一点点,不过,这点时间一般不会有什么影响。比如:
你要输出一个字符串:
function type_str(){
print("123");
}
这样的话,可以,但是如果你要判断是否输出成功了,你就必须这么写:
function type_str(){
if(print("123")){
return true;
}else return false;
}
你可以通过程序的返回值来判断是否输出成功。还有一些自定义函数处理后的结果也是需要返回的,就得用到return。比如:
function add($a , $b){
$sum = $a+$b;
return $sum;
}
函数运行结束后,函数内部定义的变量全部会被销毁,所以,为了你处理的结果不会白白浪费掉,一定要将$sum 返回。
再告诉你一个小窍门:echo和print是不同的,echo不是一个函数,更没有返回值,所以你不能写
if(echo "123") ,但是 print是一个函数,它有返回值,成功则返回true,失败则返回false,可以写:if(print("123")); 之类的。所以print要比echo速度慢一点点,一般情况下用echo就行了。
//当天时间
$TodayStartTime = strtotime(date('Y-m-d',time())"00:00:00");
$TodayEndTime = strtotime(date('Y-m-d',time())"23:59:59");
//定义变量
$timesForToday = 0;
$sumForLirun = 0;
if(!empty($variable)){
foreach ($variable as $key => $value) {
if(!empty($value['time'])&&$value['time']>=$TodayStartTime&&$value['time']<=$TodayEndTime){
//判断计算条件
$timesForToday++;//计数
$sumForLirun = $sumForLirun+$value['lirun']; //求和
}
}
echo $timesForToday;
echo $sumForLirun;
exit;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)