<?php /* * while有两种,一种先条件在输出代码,二种是先输出代码在条件 * */ //先来个for循环 for($i=0;$i<10;$i++){ if($i<9){ print_r($i.'<'); }else{ print_r($i); } } echo '<hr>'; //while先条件 其实跟for循环很类似 $i=0;//初始条件 while($i<10){ echo $i<9 ? $i.',':$i; $i++;//更新条件,没有将进入死循环 } echo '<hr>'; //后条件 跟for循环有点差异 $i=0; do{ echo $i<9 ? $i.',' : $i; $i++; }while($i<10);
对循环语句的理解,for是正常的.
while的入口和出口是不一样的,
入口判断类型的话,如果入口条件不成立,他下面的代码是不执行的,出口判断则相反输出一个条件尽管是不成立的.
我们一般都是用入口判断的多一点.while用的多,其他用的少甚至for用的就没那么多.
<meta charset="UTF-8"/> <?php /* * 常用的数组函数 * 重点:功能,场景,参数,返回值 * 1.键值操作 6个 * 2.指针操作8个(也可以说巡航操作) */ echo '<pre>'; $user = ['name'=>'新明','sex'=>'man','age'=>'28岁','adds'=>'New York']; print_r($user); //一.键值函数 //in_array(value,array);判断某个值在不在数组中 返回的是布尔值 echo in_array('新明',$user)? '存在' : '不存在';//判断值是否存在 echo '<br>'; echo array_key_exists('name',$user) ? '存在' :'不存在';//判断键是否存在 print_r(array_values($user));//以索引的方式返回数组的值 echo '<br>'; print_r(array_keys($user,'新明'));//以索引的方式返回数组的键,还可以返回制定的键 echo '<hr>'; print_r(array_search('新明',$user));//以字符串的方式返回键 echo '<hr>'; print_r(array_flip($user)); echo '<hr>'; echo '<hr>'; echo '<hr>'; //数组内部指针操作 $a = count($user);//判断有几个数组 echo $a; echo '<hr>'; echo key($user); echo '<hr>'; echo current($user); echo '<hr>'; next($user);//数组的指针下移 echo key($user); echo '<br>'; echo current($user); echo '<br>'; print_r(next($user)); echo key($user); echo '<br>'; echo current($user); echo '<br>'; print_r(next($user));//下一个 echo key($user); echo '<br>'; echo current($user); echo '<hr>'; reset($user);//重置 print_r($user); echo key($user); echo '<br>'; echo current($user); echo '<hr>'; end($user);//最后一个 echo key($user); echo '<br>'; echo current($user); echo '<hr>'; prev($user);//上一个 echo key($user); echo '<br>'; echo current($user); reset($user); echo '<hr>'; //each();返回索引与关联 list($key,$values) = each($user); echo $key,'=>'.$values; echo '<hr>'; list($key,$values) = each($user); echo $key,'=>'.$values; echo '<hr>'; list($key,$values) = each($user); echo $key,'=>'.$values; echo '<hr>';echo '<hr>'; reset($user); while(list($key,$values) = each($user)){//使用while循环来处理 echo $key,'=>'.$values.'<br>'; }
一、键与值的操作(6个)
1. in_array(value, array): val是否在array中,返回布尔值
2. array_key_exists(key,array):key是否在array中,返回布尔值
3. array_values(array): 以索引方式返回array值部分
4. array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键
5. array_search(value, array): 以字符串方式返回指定值的键
6. array_filp(array):键值对调
二、数组内部指针(巡航)操作(8个)
1. key(array):返回当前元素的键
2. current(array):当前元素的值,pos()为同名函数
3. next(array):指针下移,指向下一个元素,返回当前值
4. reset(array):指针复位,指向第一个元素,并返回它的值
5. end(array):指针移动最后一个元素上
6. prev(array):指针向前移动一位,并返回当前元素的值
7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
8. list($a,$b,...):将索引数组中的值,赋值给一组变量
数组的堆栈与队列:堆栈是从数组的开头或末尾的一端来进行增加删除,队列可以是两边都可以
//用array_splice增加字段
$color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red'];
$color2 = ['e'=>'orange','f'=>'green'];
array_splice($color1,4,2,$color2);//从数组1的第四个开始删除 等于没有删除,然后增加数组2的字段
print_r($color1);
//用array_splice删除字段 $color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red']; array_splice($color1,2);//保留前面2个 print_r($color1); //用array_splice修改字段 $color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red']; $color2 = ['a'=>'orange','b'=>'green']; array_splice($color1,0,2,$color2);//从数组1的0开始 删除2个,数组2插进去字段 print_r($color1); echo '<hr>';echo '<hr>'; $a1=[0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"]; $a2=[0=>"Tiger",1=>"Lion"]; print_r(array_splice($a1,0,2,$a2));//删除的 print_r($a1);//保留的值
array_splice($arr1,strat,length,$arr2);
<meta charset="UTF-8"/> <?php $city = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕']; echo '<table border="1" cellpadding="5" cellspacing="0" width="500">'; echo '<caption>for城市信息表</caption>'; echo '<tr bgcolor="yellow"> <th>北京</th><th>上海</th><th>广州</th><th>深圳</th><th>重庆</th><th>吉林</th></tr>'; for($i=0;$i<count($city);$i++){ echo '<th>'.current($city).'</th>'; next($city); } echo '</table>'; echo '<hr>';echo '<hr>';echo '<hr>'; $city = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕']; echo '<table border="1" cellpadding="5" cellspacing="0" width="500">'; echo '<caption>while城市信息表</caption>'; echo '<tr bgcolor="#1bed7e"> <th>北京</th><th>上海</th><th>广州</th><th>深圳</th><th>重庆</th><th>吉林</th></tr>'; $i=0; while($i<count($city)){ echo '<th>'.current($city).'</th>'; next($city); $i++; } echo '</table>'; echo '<hr>';echo '<hr>';echo '<hr>'; $city = ['北京', '上海', '广州', '深圳', '重庆', '吉林']; $adds = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕']; echo '<table border="1" cellpadding="5" cellspacing="0" width="500">'; echo '<caption>foreach城市信息表</caption>'; echo '<tr bgcolor="#00eeee">'; foreach ($city as $value) { echo '<th align="center">'.$value.'</th>'; } echo '</tr>'; echo '<tr>'; foreach ($adds as $value) { echo '<td align="center">'.$value.'</td>'; } echo '</tr>'; echo '</table>';
用多种循环来写循环,感觉foreach最好用 遍历循环可以省很多代码,很实用