1.do while实例
<?php /** * do while */ for ($i=0; $i<10; $i++){ echo $i<9 ? $i.'->' : $i; } echo '<hr>'; $i=0;//初始化值 while ($i<10){ //条件 echo $i<9 ? $i.',' : $i; $i++; //更新条件 } echo '<hr>'; $i=1; while($i<5){ $c=1; while($c<5){ echo "{$i}*{$c}=".$c*$i.' '; $c++; } $i++; } echo '<hr>'; $x=6; do { echo "这个数字是:$x <br>"; $x++; } while ($x<=5);
运行实例 »
点击 "运行实例" 按钮查看在线实例
2.函数参数与作用域实例
<?php /* 函数的参数与作用域 */ //声明 function d($b,$c){ if(empty($b) || empty($c)){ return '没有参数'; } $a=$b+$c; return $a; } //调用: 按名调用,名称后跟上一对圆括号 var_dump( d(5,5)); //当有可选参数的时候,必须把必选参数往前放 function learning($url,$sitename='php中文网'){ $open="<a href=".$url.">".$sitename."</a>"; return $open; } echo learning('http://www.php.cn').'<hr>'; //参数实际就是一个占位符,仅供参考,可以没有 function hi() { return print_r(func_get_args(),true); return func_get_arg(1); //获取指定位置参数的值 return func_num_args(); //获取参数的数量 return (func_get_arg(0) + func_get_arg(1) + func_get_arg(2)); } echo hi(4,5,6).'<hr>'; $hiName = 'hello'; // php中只有函数作用域,函数外部声明的变量在函数内部不能直接使用 function hi1() { global $hiName; // return $hiName; return $GLOBALS['hiName']; } echo hi1();
运行实例 »
点击 "运行实例" 按钮查看在线实例
3.数组操作实例
<?php /** * 1.常用的键值操作 * 2.数组内部指针操作(巡航) */ $book = ['id'=>5, 'name'=>'php', 'price'=>66, 'role'=>'学习php']; echo '<pre>',print_r($book,true); //in_array()判断数组中是否存在某个值 echo '<hr>',in_array('php',$book) ? 'yes' : 'no'; //array_key_exists():判断某个键名是否存在于数组中? echo '<hr>',array_key_exists('name',$book) ? '有' : '没有'; // array_values():以索引方式返回数组的值组成的数组 echo '<hr>',print_r(array_values($book),true); // array_keys() //返回键名 echo '<hr>',print_r(array_keys($book),true); // array_search():以字符串的方式返回指定值的键 echo '<hr>',print_r(array_search('66',$book),true); //键值对调array_flip() echo '<hr>',print_r(array_flip($book),true); //array_filter()过滤数组中的元素 function text($var){ $var=$var+2; return($var & 1); } echo '<hr>',print_r(array_filter($book,"text"),true); $a=2;$b=3; $c=$a&$b; echo '<hr>',$c,'<hr>'; //数组的内部操作 echo count($book),'<hr>'; //统计数组 echo key($book),'<hr>';//key()返回当前元素的键 echo current($book),'<hr>';//current()返回当前元素的值 next($book);//next()指针下移 echo key($book),'<br>'; echo current($book),'<br>'; next($book);//next()指针下移 echo key($book),'<br>'; echo current($book),'<br>'; //复位 reset($book); echo key($book),'<br>'; echo current($book),'<hr>'; //尾部 end($book); echo key($book),'<br>'; echo current($book),'<br>'; reset($book); // each()返回当前元素的键值的索引与关联的描述,并自动下移 print_r(each($book)); //print_r(each($book)); //print_r(each($book)); //list() //将索引数组中的值,赋值给一组变量 list($key, $value) = each($book); echo $key, '******', $value,'<hr>'; $i=0; // while,list(),each() 遍历数组 reset($book); while (list($key, $value) = each($book) and $i<2) { //只取前2条 echo $key , ' => ', $value, "[$i]" ,'<br>'; $i++; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
4.用数组模拟出栈入栈实例
<?php /** * 使用数组来模拟堆栈和队列操作 */ $car=['id'=>5 , 'color'=>'white' ,'brand'=>'BMW' ,'price'=>'10W' , 'inventory'=>9]; echo '<pre>',print_r($car,true); //echo '当前长度: '. count($car), '<br>';//count() 函数用于返回数组的长度(元素数) //入栈:array_push()返回新数组的长度= count() //$a=[1,2,3]; //echo array_push($car, $a); //echo array_push($car, '店庆活动车'); //echo '<hr>',var_export($car); //echo '<hr>当前长度: '. count($car), '<br>'; //print_r($car); echo '<hr>'; //array_pop()删除数组的最后一个元素(出栈)。 //echo array_pop($car),'<br>'; //echo array_pop($car),'<br>'; //echo array_pop($car),'<br>'; //print_r($car); //reset($car); //print_r($car); //队: shift(),unshift() //echo array_unshift($car, '顶配','3年质保'); //echo print_r($car,true).'<hr>'; // //echo array_shift($car),'<br>'; //echo array_shift($car),'<br>'; //echo array_shift($car),'<br>'; //print_r($car); //模拟队列操作: 增删只能在二端进行,不允许同一端进行 array_unshift($car,'降价2W');// 头部进队 echo print_r($car,true); array_pop($car); // 尾部出队 echo print_r($car,true),'<hr>'; array_push($car, '送大礼包'); //尾部进队 print_r($car); array_shift($car); // 头部出队 print_r($car);
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:
do while循环是先执行一次代码块再判断,while与for类似。
函数的参数是可选的,如果要加参数必选的参数排在前面。
在函数中引用全局变量可以函数中用GLOBAL声明或直接GLOBALS['*']来使用。
用数组来操作内部值,以及用数组模拟入队出队。