<?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最好用 遍历循环可以省很多代码,很实用
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号