while() 和do while()的基本使用方法
while是入口型,先判断再操作的,而do while是出口型,先执行再判断,案列如下:
实例
运行实例 »<?php /** * Created by PhpStorm. * User: Jackson * Date: 2018/8/31 * Time: 15:37 */ //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>'; //do while 出口型,至少执行一次 $i = 0; do{ echo $i<9 ? $i.',' : $i; $i++; }while($i<10);
点击 "运行实例" 按钮查看在线实例
2.函数的参数和作用域
函数的参数只是形参,不一定要有,函数参数的作用域和变量的作用域一样,外部声明的 变量不能直接在函数内使用,需要关键字global和全局数组$GLOBALS才能在函数内使用,案列如下:
实例
<?php /** * 函数的基本知识 */ //声明 function hello() { return 'hello'; } echo hello(),'<hr>';//按函数名调用,后面加一对括号 function add(){ return func_num_args();//获取函数参数的个数 } echo add(4,6); //外部声明的变量不能在函数内直接使用 $a = 'jack'; $b = 'apple'; function hello1( ){ global $a;//加global关键字可以使用外部变量 //return $a; return $GLOBALS['b'];//$GLOBALS全局变量 } echo hello1();
点击 "运行实例" 按钮查看在线实例
3.函数的键值操作和指针操作
数组常用的函数有很多,主要就是对键值进行操作,需要多使用才有助于记忆,案列如下:
实例
<?php /** * 1.键值操作 * 2.数组内部指针操作 */ $user = ['id'=>'3','name'=>'jason','sex'=>'man','age'=>'33']; echo '<pre>'; print_r($user); echo in_array('jasoHH',$user)? '存在':'不存在<br>'; echo array_key_exists('name',$user)? '存在<br>':'不存在<br>'; //返回数组的值 print_r(array_values($user)); //返回数组的键 print_r(array_keys($user)); //array_search() 查找数组指定值的键 echo array_search('man',$user),'<br>'; //array_flip()键值对调 print_r(array_flip($user)); //数组内部的指针 echo count($user),'<br>'; echo key($user),'<br>';//返回当前的键 echo current($user),'<br>';//返回当前指针的值 next($user);//指针下移 echo key($user),'<br>';//返回当前的键 echo current($user),'<br>';//返回当前指针的值 reset($user);//指针复位 echo key($user),'<br>';//返回当前的键 echo current($user),'<br>';//返回当前指针的值 end($user);//指针调到最后一个元素 echo key($user),'<br>';//返回当前的键 echo current($user),'<br>';//返回当前指针的值 //each() 返回当前元素的索引和关联描述,并且指针下移 print_r(each($user)); //list() 将索引数组的值 赋值给一组变量 reset($user); list($key,$value) = each($user); echo $key.',,,'.$value.'<br>'; reset($user); while(list($key,$value)=each($user)){ echo $key,'=>',$value,'<br>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
4.数组的堆栈和队列
使用函数array_push()/array_pop(), array_unshift()/array_shift()进行数组的值插入和移除,案列如下:
实例
<?php /** * 用数组模拟堆栈和队列操作 */ $user = ['id'=>5, 'name'=>'jack','gender'=>'male']; echo '<pre>',print_r($user,true),'<br>'; echo '当前长度'.count($user),"<br>"; //入栈:array_push(),在尾部加值,返回数组长度 echo array_push($user,'php'); echo '<pre>',print_r($user,true),'<br>'; //array_pop()删除尾部的值,返回删除的值 echo array_pop($user); echo array_pop($user); print_r($user); echo "<hr>"; //对列 shift() unshift() //array_shift()在数组头部加值,可加两个值,返回数组长度 echo array_unshift($user,'www.php.cn','jack'); print_r($user); echo array_shift($user);//返回删除的值 print_r($user); echo '<hr>'; $user = ['id'=>5, 'name'=>'jack','gender'=>'male']; array_push($user,'html');//尾部进队 print_r($user); array_shift($user);//头部出队 print_r($user); array_unshift($user,'css');//头部进队 print_r($user); array_pop($user);//尾部出队 print_r($user);
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:数组的使用关键在于函数的熟练程度,所欲要多阅读手册进行理解和背诵函数的使用方式,这样才会有助于数组的使用。