总述:三种循环语句和两种专门便利数组的语句
1.1 while循环语句
while循环语句是PHP中最简单的循环语句,它的语法格式为:while(expr){ },当表达式expr的值为真时,将执行statement语句,执行结束之后,在返回到expr表达式继续进行判断,当表达式值为假时,跳出循环,执行下面的语句。
- $num = 1;
- $str = "100 以内的偶数为:";
- while($num <= 100){
- if($num % 2 == 0){
- $str .= $num." ";
- }
- $num ++;
- }
- echo $str.'<p>';
1.2 do...while循环语句
while语句还有另一种形式表达,即:do...while。两者的区别在于,do...while要比while语句多循环一次。
- $num1 = 1;
- $str1 = "100 以内的奇数有:";
- do{
- if($num1 % 2 != 0){
- $str1 .= $num1." ";
- }
- $num1 ++;
- }while($num1<=100);
- echo $str1.'<p>';
1.3 for循环语句
for循环是PHP中最复杂的循环结构,它的语法格式为:for(expr1;expr2;expr3){ }
- echo "循环打印100以内的数字:";
- for($i=0;$i<=100;$i++){
- echo "$i ";
- }
- echo '<p>';
1.4 foreach循环语句
foreach循环是PHP4引进来的,只能用于数组,在PHP5中,又增加了对对象的支持,该语句的语法格式为:foreach($array as $value){ } 或者 foreach($array as $key=>$value){ },这种类似于OC中for(id in NSArray){ }一样的方法。
- //数组循环
- echo '傻威的外号有多少?答:';
- $array = array("1"=>"刘伟","2"=>"傻威","3"=>"二威","4"=>"逗比威");
- echo count($array).' 个,分别为:';
- foreach($array as $key=>$value){
- echo $key=$value.' ';
- }
- echo '<p>';
- //数组排序---简单排序算法
- $array1 = array(0=>21,1=>33,2=>34,3=>1,4=>98,5=>78,6=>12,7=>9,8=>3,9=>54);
- for($i=0;$i<count($array1);$i++){
- for($j=$i+1;$j<count($array1);$j++){
- if($array1[$i]<$array1[$j]){
- $tmpe = $array1[$i];
- $array1[$i] = $array1[$j];
- $array1[$j] = $tmpe;
- }
- }
- }
- echo '数组排序--简单排序输出:';
- foreach($array1 as $key=>$value){
- echo $value.' ';
- }
- echo '<p>';
1.5 list输出数组以及向数组中增加元素和删除元素以及删除相同的元素
直接看代码吧:
- //使用list输出数组
- echo '使用list输出数组:';
- while(list($name,$value1)=each($array1)){
- echo $value1.' ';
- }
- echo '<p>';
- echo 'PHP二维数组的个数count($array2,递归统计):';
- $array2 = array(array('PHP1','php2','php3'),array('asp1'));
- echo count($array2,COUNT_RECURSIVE).'<p>';
- //查找数组中的元素
- $key1 = array_search(21,$array2);
- if($key1){
- echo '查找函数到了<br>';
- }else{
- echo '没有查找到<br>';
- }
- //获取数组中最后一个元素,并将数组的长度减去1(点评:类似于删除啊?)
- $arr = array_pop($array1);
- echo "\$array1的最后一个元素为:$arr".'<br>';
- print_r($array1);
- echo '<br>使用array_push函数向数组中增加一个元素:';
- array_push($array1,$arr);
- print_r($array1);
- echo "<br>删除数组中的重复元素<br>未删除之前的数组:";
- array_push($array1, 54);
- print_r($array1);
- $array3 = array_unique($array1);
- echo "<br>删除之后";
- print_r($array3);