php for循环使用方法
web PHP 2019-04-11 2053 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6413573 2611 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

for 循环的语法是:

for (expr1; expr2; expr3) 
statement
expr1 在循环开始前无条件求值一次。 
expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。 
expr3 在每次循环之后被求值(执行)。 
每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用 break 语句来结束循环而不是用 for 的表达式真值判断。 
实例一

<?php
for ($i = 0; $i <= 2; $i++) { 
	print "value is now " . $i . "<br>"; 
}
// 输出
// value is now 0
// value is now 1
// value is now 2
?>
在第一循环,$i=0,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i得到加1,变成1。 
在第二循环,$ = 1,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i得到加1,变成2。 
在第三迭代,$i= 2,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i递增,成为1 3。 
在第四迭代,$i= 3,这意味着表达,($i<= 2),是假的。因此,PHP不去执行循环,不执行打印语句。
实例二(增量为10)

<?php
for ( $counter = 10; $counter <= 100; $counter += 10) { 
	echo $counter . '<br>'; 
} 
// 输出
// 10
// 20
// 30
// 40
// 50
// 60
// 70
// 80
// 90
// 100
?>
实例三(都显示数字 1 到 10)

<?php
// example 1
for ($i = 1; $i <= 10; $i++) {
    echo $i . '<br>';
} 
// example 2
for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    } 
    echo $i . '<br>';
} 
// example 3
$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    } 
    echo $i . '<br>';
    $i++;
} 
// example 4
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i . '<br>', $i++);
?>
当然,第一个例子看上去最正常(或者第四个),但用户可能会发现在 for 循环中用空的表达式在很多场合下会很方便。 

PHP 也支持用冒号的 for 循环的替代语法。

for (expr1; expr2; expr3): 
statement; 
... 
endfor;

我们经常需要对下面这样的数组进行遍历: 

<?php 
// 我们想要在遍历的过程中改变以下数组中某些元素的值
$people = Array(
    Array('name' => 'Kalle', 'salt' => 856412),
    Array('name' => 'Pierre', 'salt' => 215863)
);
var_dump($people);
for($i = 0; $i < sizeof($people); ++$i) {
    $people[$i]['salt'] = rand(000000, 999999);
} 
var_dump($people);
?>
以上代码的问题,在于for的第二个表达式会导致代码执行很慢--因为每次循环时都要计算一遍数组的长度。
由于数组的长度始终不变,我们可以用一个中间变量来存储数组长度, 然后用这个变量作为for循环的第二个表达式。
这样在循环的时候就可以直接使用该变量的值, 不用每次重新计算。 如下: 
<?php
$people = Array(
    Array('name' => 'Kalle', 'salt' => 856412),
    Array('name' => 'Pierre', 'salt' => 215863)
);
var_dump($people);
for($i = 0, $size = sizeof($people); $i < $size; ++$i) {
    $people[$i]['salt'] = rand(000000, 999999);
} 
var_dump($people);
?>

版权声明:本篇文章来源于网络。 来源链接

相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
PHP | 2019-04-30 5611
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。 <?php // 需开启配置 php_zip.dll // phpinfo(); header("Content-type:text/html;charset=utf-8"); /* * $filename 被解压文件名 * $path 解压...
openssl_private_decrypt解密失败
PHP | 2019-01-16 5586
复制别人的解密程序,原程序可以解密,复制过来就不可以 一步步尝试发现,秘钥换行符有区别, 原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论:0条
评论加载中...
发表评论
前一篇: