php中循环之for()、while()、foreach()用法

 更新时间:2016年11月25日 15:07  点击:1345
本文章介绍最基本的循环语句的用法,在php中包括了for()、while()、foreach() do while 这几种最基本的语句。

while循环
while循环是PHP中最简单的循环,其基本格式为:

 代码如下 复制代码
while (expr){
    statement
}
//或者
while (expr):
    statement
endwhile;

该语法表示,只要expr表达式为TRUE,那么就一直执行statement直到expr为FALSE为止,statement表示要执行的动作或逻辑。

例子:

 代码如下 复制代码
<?php
$i = 1;
while ($i <= 10) {
   echo $i;
   $i++;
}
?>

该例子循环输出1到10。

do-while循环
do-while循环和while循环非常相似,其区别只是在于do-while保证必须执行一次,而while在表达式不成立时则可能不做任何操作。

do-while 循环只有一种语法:

 代码如下 复制代码
do {
   statement
}while (expr)

例子:

 代码如下 复制代码
<?php
$i = 1;
do {
   echo $i;
   $i++;
} while ($i <= 10);
?>

该例子也是输出1到10

for循环
for循环是PHP中更为复杂的循环,其语法如下:

 代码如下 复制代码
for (expr1; expr2; expr3){
    statement
}

下面的例子依然输出1到10:

 代码如下 复制代码
<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
?>

语法解读
第一个表达式(expr1)在循环开始前无条件求值一次
expr2 在每次循环开始前求值,如果值为 TRUE,则继续循环,执行嵌套的循环语句;如果值为 FALSE,则终止循环。
expr3 在每次循环之后被求值(执行)
每个表达式都可以为空。如果expr2 为空意则将无限循环下去,但可以通过break来结束循环: <?php

 代码如下 复制代码
for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}
?>

提示
在使用循环语句的时候,我们通常要注意不要无限循环而造成程序“僵死”,另外还要注意循环条件(循环判断表达式),以确保循环结果正确。

今天吃了没事干来讲述了一N多年前自己学习php是学习get全局变量的用法了,有需要的入门的朋友可以参考一下。

一,$_GET是获取表method为get形式的数据
二,$_GET获取url.php?i=12 的数据,
上面是我们常用的利用get来获取值的数据,

实例一,取得form的数据

 代码如下 复制代码

<form action ="get.php" method ="get">
Name: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>

get.php

假如我填写的是 www.111cn.net

 代码如下 复制代码

You are <?php echo $_GET["username"]?>.


输出结果是

 代码如下 复制代码

You are www.111cn.net

那么我们的点击提交时url会是什么样式呢

 代码如下 复制代码

get.php?username=www.111cn.net

这样形式了,也就是我们说的第二种获取数据的方法,下面我们来看利用a带参考的

/a.php?value=my

a.php

 代码如下 复制代码

value的值是 <?php echo $_GET["value"]; ?>.<br />

输出结果是

 代码如下 复制代码

value的值是 my


这个看上去和form 的method=get没什么区别吧,哈哈,好了文章就到这里了。


get还有一种方法,那就是直接$_GET这样,会是什么形式呢,看实例。

 代码如下 复制代码

<form action = "checkbox.php" method = "get">
<input type="checkbox" name="fruit[ ]" value = "Apple">Apple</input><br />
<input type="checkbox" name="fruit[ ]" value = "Orange">Orange</input><br />
<input type="checkbox" name="fruit[ ]" value = "Mango">Mango</input><br />
<input type="submit" value="ok">


checkbox.php文件代码

 代码如下 复制代码

<?phpecho count($_GET["fruit"]),"<br />";
foreach ($_GET["fruit"] as $value)
{echo $value,"<br />";
}?>

输出结果是


如果你选择Orange和Mango


注明 $_GET不适合于大数据量的获取长度值是不能超过 100 个字符的。

原站原创教程转载须注明来源:http://www.111cn.net/phper/php.html

我们今天来讲述一个超级简单有实用的实例就是告诉你如何利用preg_match函数正匹配字符串是否有我们想要的内容,下面我们以匹配日期为实例吧。
 代码如下 复制代码
<?php
if(preg_match("/d{4}-d{2}-d{2}/","开始大幅拉萨大家2012-02-02 12:12:12舍得离开房间")){
echo 'ye';
}else{
echo 'no';
}

?>
当我们遇到文本文件体积很大时,比如超过几十M甚至几百M几G的大文件,用记事本或者其它编辑器打开往往不能成功,因为他们都需要把文件内容全部放到内存里面,这时就会发生内存溢出而打开错误,遇到这种情况我们可以使用PHP的文件读取函数file_get_contents()进行分段读取。

函数说明
string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )
和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败,file_get_contents() 将返回 FALSE。

file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

应用:

 代码如下 复制代码

$str = $content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024);
echo $str;

如果针对较小文件只是希望分段读取并以此读完可以使用fread()函数

 代码如下 复制代码

$fp=fopen('2.sql','r');
while (!feof($fp)){
$str.=fread($fp, filesize ($filename)/10);//每次读出文件10分之1
//进行处理
}

echo $str;

本文章介绍了关于运算符,这是php ?:运行哦,也称为三目或三元运算符,有需学习的朋友可以参考一下。

很简单的三目运算符也是我们常说的?:运算符了

 代码如下 复制代码
<?php
$a=1;$b=2;$c=3;$d=4;
echo $a<$b?'xx':$a<$c?'yy':$a<$d?'zz':'oo';
?>
[!--infotagslink--]

相关文章

  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍

    下面小编就为大家带来一篇JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
  • Java8处理List的双层循环问题

    这篇文章主要介绍了Java8处理List的双层循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
  • jquery中常用的SET和GET$(”#msg”).html循环介绍

    复制代码 代码如下: $(”#msg”).html(); //返回id为msg的元素节点的html内容。 $(”#msg”).html(”new content“); //将“new content” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content $(”...2013-10-13
  • 浅谈Java8 的foreach跳出循环break/return

    这篇文章主要介绍了Java8 的foreach跳出循环break/return,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-28
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • mybatis-plus  mapper中foreach循环操作代码详解(新增或修改)

    这篇文章主要介绍了mybatis-plus mapper中foreach循环操作代码详解(新增或修改),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-11-17
  • C#的循环语句集锦及案例详解

    这篇文章主要介绍了C#中的基本循环:while循环、for循环和foreach循环,大家都知道循环结构可以简化程序编码,更好地实现理想的效果,并结合案例给大家讲解,需要的朋友可以参考下...2020-06-25
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • python 实现循环定义、赋值多个变量的操作

    这篇文章主要介绍了python 实现循环定义、赋值多个变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • shell中的for循环用法详解

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-11
  • 解决vue-router路由拦截造成死循环问题

    这篇文章主要介绍了解决vue-router路由拦截造成死循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • c# 循环语句的使用方法

    这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • Nodejs 数组的队列以及forEach的应用详解

    这篇文章主要介绍了Nodejs 数组的队列以及forEach的应用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-25
  • JavaScript循环遍历的24个方法,你都知道吗

    这篇文章主要给大家介绍了关于JavaScript循环遍历的24个方法,文中对每种方法都给出了详细的实例代码,方便大家理解学习,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2021-09-15
  • Java8之Stream流代替For循环操作

    这篇文章主要介绍了Java8之Stream流代替For循环操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
  • 示例详解react中useState的用法

    useState 通过在函数组件里调用它来给组件添加一些内部 state,React 会在重复渲染时保留这个 state,接下来通过一个示例来看看怎么使用 useState吧...2021-06-04
  • Xml中使用foreach遍历对象实现代码

    这篇文章主要介绍了Xml中使用foreach遍历对象实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-12-04