do while 循环实例详解

 更新时间:2016年11月25日 15:58  点击:2042

在做... while语句类似的声明时,除了测试条件在每次迭代结束,而不是在开始。这

意味着你... While循环是保证至少运行一次。在做... While循环的语法如下:

do
{
   code to be exected;
}
while (condition);

下面将增加i的值至少一次的例子,它将继续递增,只要它有一个变量i的值小于或等

于10:

<?php教程
$i = 0;
do {
   echo "The number is ".$i."<br/>";
   $i++;
}
while ($i <= 10);
?>

foreach循环是一种变异的For循环,并允许您遍历数组中的元素。有两个不同版本的

foreach循环。 foreach循环的语法如下:

foreach (array as value)
{
   code to be executed;
}
   
foreach (array as key => value)
{
   code to be executed;
}
下面的例子演示了foreach循环,将打印给定数组的值:

<?php
$email = array('john.smith@example.com', 'alex@example.com');
foreach ($email as $value) {
   echo "Processing ".$value."<br />";
}
?>

PHP的执行每个元素美元,反过来电子邮件循环体一次,美元值设置为当前元素。元素

处理其国内秩序。循环继续,直到达到foreach循环的最后一个元素或上给定数组的约

束。

<?php
$person = array('name' => 'Andrew', 'age' => 21, 'address' => '77, Lincoln

st.');
foreach ($person as $key => $value) {
   echo $key." is ".$value."<br />";
}
?>

在这种情况下,对每个元素的关键是放置在$键和相应的值是$的重视。

在foreach构造不营业数组本身,而是它的一个副本。在每次循环中,变量$值的值可

以操作,但该数组的原始值保持不变。

while语句执行的代码块,如果只要在指定条件计算为true。如果条件变得假,在循环

中的语句停止执行和控制传递给语句后面的循环。 while循环的语法如下:
while (condition)
{
  code to be executed;
}
在相关的声明,但始终是在封闭(开幕式和闭幕式的大括号)代码块符号告诉PHP代码

清楚哪些行应该通过循环。

while循环是最常用的递增一个列表,没有已知的准则,循环迭代次数。例如:

while (there are still rows to read from a database)
{
   read in a row;
   move to the next row;
}
让我们来的例子。第一个例子定义了一个循环,开始与i = 0。循环将继续运行,只要

变量i小于或等于10。我将增加1每次循环运行:

<?php
$i=0;
while ($i <= 10) { // Output values from 0 to 10
   echo "The number is ".$i."<br />";
   $i++;
}
?>
现在,让我们考虑一个更有用的例子,创建下拉几天,几个月或几年清单。您可以使

用此登记表的代码,例如。

<?php

$month_array = array( "January", "February", "March", "April", "May",

"June",
                      "July", "August", "September", "October", "November",

"December");

echo "<select name="day">";
$i = 1;
while ( $i <= 31 ) {
   echo "<option value=".$i.">".$i."</option>";
   $i++;
}
echo "</select>";

echo "<select name="month">";
$i = 0;
while ( $i <= 11 ) {
   echo "<option value=".$i.">".$month_array[$i]."</option>";   
   $i++;
}
echo "</select>";

echo "<select name="year">";
$i = 1900;
while ( $i <= 2007 ) {   
   echo "<option value=".$i.">".$i."</option>";   
   $i++;
}
echo "</select>";

?>

<?php
class My_Lib_Functions {
# ********************************************
# 对象转数组
# ********************************************
function object2array ($obj) {
    foreach ($obj as $k => $v) {
        $arr[$k] = $v;
        unset($v);
    }
    return $arr;
}


// ********************************************
// 获取限定区间内的图片宽高
//$mx :图像在页面上显示的宽度
//$my :图像在页面上显示的高度
//此处缩略图按比例缩放的原理为x/y = $mx / $my;
// **********************************************
function getPicXY($picurl, $mx = 0, $my = 0){
    if (!$size = @GetImageSize($picurl)) return false;  //GetImageSize用来测定任何图象大小并返回图象的尺寸以及文件类型和一个用于普通HTML文件中<IMG>标记中的height/width文本字符串
 if ($mx == 0 && $my == 0) return $size;     //当$mx与$my参数的值为零时,返回图象的大小
    if ($mx * $size[1] / $size[0] > $my){     //判断当$mx乘以图象本身的高度再除以图象的宽度大于在页面上显示的图象宽度时    
        $newXY[0] = $my * $size[0] / $size[1];    //设置产生新图像的宽度为$mx的值乘以图象本身的宽度再除以图象本身的高度
        $newXY[1] = $my;         //设置产生的新图像的高度为页面图象显示的高度
    }else{             //判断当$mx乘以图象本身的高度再除以图象的宽度不大于在页面上显示的图象宽度时    
        $newXY[0] = $mx;         //设置产生的新图像的宽度为页面图象显示的宽度
        $newXY[1] = $mx * $size[1] / $size[0];    //设置产生新图像的宽度为$mx的值乘以图象本身的高度再除以图象本身的宽度
    }
    if ($size[0] <= $my and $size[1] <= $mx){    //判断当图像本身的宽度小于等于页面上显示图像的宽度且图像本身的高度小于等于页面上显示图像的高度
        $newXY[0] = $size[0];        //设置图像新产生的宽度为图像本身的宽度
        $newXY[1] = $size[1];        //设置图像新年产的高度为图像本身的高度
    }
 return $newXY;           //返回图像的新比例
}

function getNewImageWH2 ($imageUrl, $maxWidth = 0, $maxHeight = 0, &$newWidth = 0, &$newHeight = 0){
    if (!$imageSize = @GetImageSize($imageUrl)) return false;
    if ($maxWidth == 0 || $maxHeight == 0) {
        $newWidth  = $imageSize[0];
        $newHeight = $imageSize[1];
 } else {
        $newWidth  = $maxWidth;
        $newHeight = $newWidth * $imageSize[1] / $imageSize[0];
        if ($newHeight < $maxHeight) {
            $newHeight  = $maxHeight;
            $newWidth = $newHeight * $imageSize[0] / $imageSize[1];
        }
        $imageSize[0] = $newWidth;
        $imageSize[1] = $newHeight;
    }
    return $imageSize;
}


}
?>

<?php
    class My_Lib_page{
        //当前页
        var $page = 1;
        //每页显示条数
        var $size = 20;
        //总记录数
        var $count;
        //每栏显示条数
        var $lun = 10;
        //参数绑订
        var $param;
        //跳转
        var $run;
        //name=admin&pwd=2132&sex=1
        //$_GET['name'] = admin;
        private function setParam(){
            $param = $this->param;
            unset($param['page']);
            if(is_array($param) && !empty($param)){
                foreach($param as $key=>$value){
                    $data[] = $key."/".$value;
                }
                $this->url = implode("/",$data);
                $this->param = $this->url;
                $this->url = "/".$this->url;
            }else{
                if(!empty($param)){
                    $this->url = $param;
                    $this->param = $this->url;
                    $this->url = "/".$this->url;
                }
            }
        }
       
        function pageDate(){
            $this->setParam();
            $num = ceil($this->lun/2);
            $this->page = intval($this->page);
            $this->page = $this->page <= 0 ? 1 : $this->page;
           
            $cpage['countPage'] = ceil($this->count/$this->size); //总页数

            $cpage['page'] = $this->page > $cpage['countPage'] ? $cpage['countPage']:$this->page ;
            //当前页

            //显示总数
            $cpage['lun'] = $cpage['countPage'] < $this->lun ? $cpage['countPage'] : $this->lun;

            //开始页码
            $cpage['start'] = $this->page > $num-1 ? $this->page-$num+1 : 1;
           
            $cpage['start'] = ($cpage['start']+$cpage['lun'])>=$cpage['countPage'] ? $cpage['countPage']-$cpage['lun']+1 : $cpage['start'];
           
            //参数显示
            $cpage['url'] = $this->url;

            //控制跳转
            $cpage['run'] = $this->run ? 1 : 0;
            $cpage['param'] = is_array($this->param) ? '': "?".$this->param;
            return $cpage;
        }
    }

    /*include "../inc/smarty.php";
    $cp = new page;


    empty($_REQUEST['page']) || $cp->page = $_REQUEST['page'];
    $cp->count = 70000;
    $cp->param =  $_GET;
    $cp->size = 100;
    $cp->lun = 7;
    $cp->run = true;
    $data = $cp->pageDate();
    $smarty->assign("page",$data);
    $smarty->display("cpage.html");
    */
?>

[!--infotagslink--]

相关文章

  • 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
  • C#中while循环语句用法实例详解

    这篇文章主要介绍了C#中while循环语句用法,以实例形式详细分析了while语句的用法,并对return,continue,break的区别做了进一步的分析,需要的朋友可以参考下...2020-06-25
  • shell脚本实战-while循环语句

    这篇文章主要介绍了shell脚本实战-while循环语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-09
  • mybatis-plus  mapper中foreach循环操作代码详解(新增或修改)

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

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

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

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

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

    这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • JavaScript循环遍历的24个方法,你都知道吗

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

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • Java8之Stream流代替For循环操作

    这篇文章主要介绍了Java8之Stream流代替For循环操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • Javascript循环删除数组中元素的几种方法示例

    这篇文章主要给大家介绍了关于Javascript循环删除数组中元素的几种方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2017-05-22
  • c#入门之循环语句使用详解(for循环、do/while)

    这篇文章主要介绍了c#入门之循环语句使用详解,有for循环和do/while的示例,需要的朋友可以参考下...2020-06-25
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • 如何检测JavaScript中的死循环示例详解

    这篇文章主要给大家介绍了关于如何检测JavaScript中死循环的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-31
  • Python While循环语句实例演示及原理解析

    这篇文章主要介绍了Python While循环语句实例演示及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-30