1.while,do~while;
for ($i=0;$i<10;$i++){ echo $i<9 ? $i.'/' : $i; } echo '<hr>'; //while() $i=0; //初始化条件 while($i<10){ echo $i<9 ? $i.'/' : $i; $i++; //更新条件 } echo '<hr>'; //do~while() $i=0; //初始化条件 do{ echo $i<9 ? $i.'/' : $i; $i++; //更新条件 }while($i<10);
2.函数的参数与作用域
//声明 function hello() { return '欢迎来到php中文网来学习'; } //调用:按名调用,名称后跟上一对圆括号 echo hello(); echo '<hr>'; function hello1($siteName) { return '欢迎来到'.$siteName.'学习'; } echo hello1('php中文网'); //直接传参 function hello2($siteName='php中文网',$log) //默认值 { return '欢迎来到'.$siteName.'学习'.$log; } echo hello2('php.cn','日志').'<hr>'; //必须先给第一个参数传参,再传给第二个参数 function hello3($a,$b,$c) { // return func_get_arg(0); //1 return print_r(func_get_args(),true); //返回的是数组, // return ($a.$b.$c); } echo hello3('1','2','3');
3.数组常用的键值操作与指针操作
$user = ['id'=> 5,'name' => 'zhu','gender' => 'male','age' => 20]; echo '<pre>',print_r($user,true); //in_array()判断数组中是否存在某个值 echo in_array('zhu',$user) ? '存在<br>' : '不存在<br>'; //in_array()判断某个键名是否存在数组中 echo array_key_exists('name',$user) ? '存在<br>' : '不存在<br>'; //array_value():以索引方式返回数组的值组成新的数组 print_r(array_values($user)); //array_keys():以索引方式返回数组的键名组成新的数组 print_r(array_keys($user)); //array_search():以字符串的方式返回指定值的键 print_r(array_search('zhu',$user)); //'zhu'对应的键 //键值对调 print_r(array_flip($user)); //数组的内部操作 echo count($user).'<br>'; //统计数组有多少个元素 //key()返回当前元素的键 echo key($user).'<br>'; //current():返回当前元素值 echo current($user).'<br>'; //next():指针下移 next($user).'<br>'; echo key($user).'<br>'; //返回当前元素的键 echo current($user).'<br>'; //返回当前元素的值 //复位 reset($user); echo key($user).'<br>'; //返回当前元素的键 echo current($user).'<br>'; //返回当前元素的值 //尾部end() end($user); print_r($user).'<br>'; reset($user); //each():返回当前元素的键值的索引与关联的描述(php7已经淘汰了each变量) print_r(each($user)).'<br>'; //print_r(each($user)).'<br>'; //list():将索引数组中的值赋值给一组变量 list($key,$value)=each($user); echo $key.'*****'.$value.'<br>'; //while(),list(),each(),遍历数组 reset($user); while(list($key,$value)=each($user)){ echo $key.'=>'.$value.'<br>'; }
4.数组的操作;模拟栈与队列
$user = ['id'=> 5,'name' => 'zhu','gender' => 'male','age' => 20]; echo '<pre>',print_r($user,true); echo '当前长度'.count($user).'<br>'; //入栈array_push():返回新数组的长度=count(); array_push($user,'php中文网'); echo '当前长度'.count($user).'<br>'; print_r($user).'<br>'; //出栈array_pop(): print_r(array_pop($user).'<br>'); print_r(array_pop($user).'<br>'); print_r(array_pop($user).'<br>'); print_r($user).'<br>'; //队列操作,shift(),unshift(): echo array_unshift($user,'www.php.cn'); print_r($user).'<br>'; //头部删除 shift() echo array_shift($user); print_r($user).'<br>'; //模拟队列操作:增删只能在两端进行,不允许同一端进行 array_push($user,'php'); //尾部增加,只能头部删除 print_r($user).'<br>'; array_shift($user); //头部删除/出队 print_r($user).'<br>'; //头部出队 array_unshift($user,'html'); print_r($user).'<br>'; //尾部出队 array_pop($user); print_r($user).'<br>';