本节课:重点讲解了循环语句,函数参数,数组,指针,栈队列
内容较多,更多的需要去记住;
<meta charset="UTF-8"> <?php echo '<h2 style="color: green">1. 编程: 实例演示while(),do~while()</h2>'; echo '<hr>'; echo'<h4>a、for循环使用:入口判断型</h4>'; for ($i=1;$i<=10;$i++) { echo '这是你今天跑的第'. $i. '圈','<br>'; } for ($i=0;$i<10;$i++) { //echo $i.','; //在每个$i后面都有, echo $i<9 ? $i.',' : $i; //使用三元运算符,如果<9则显示, } echo '<hr>'; echo'<h4>b、while()循环使用:入口判断型,如果条件不满足一次都不执行</h4>'; $num=1;//初始化条件 while ($num<=10) { echo '当前条件满足<=10才执行,值为'.$num.'<br>'; //显示条件 $num++; //更新条件 } echo '<hr>'; echo'<h4>c、do while()循环使用:出口判断型,先执行一次再判断</h4>'; $num1=1; do { echo '不过条件是否满足,先执行一次再判断,'.$num1.'<br>'; //显示条件 $num1++; //更新条件 } while ($num1<0);
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php echo '<h2 style="color: green">2. 编程: 函数的参数与作用域</h2>'; echo '<hr>'; echo'<h4>a、声明</h4>'; function test() { return '一:无传参;按名称调用,名称后面跟一对()'; } echo test(); echo '<br>'; echo '<br>'; function test1($name) { return '二:'.$name.';调用时需要传入参数'; } echo test1('有一个参数'); echo '<br>'; echo '<br>'; function test2($name='默认有参数') { return '三:'.$name.';调用时如果不传入参数自动默认,如果有传入参数,按传入参数'; } echo test2(); echo '<br>'; echo test2('手工传参数'); echo '<br>'; echo '<br>'; function test3($domain,$name='PHP中文网') { return '四:'.$name.'的域名是'.$domain.'(多个参数时且有可选传参,必须将把必选参数放前面)'; } echo test3('www.php.cn'); echo '<br>'; echo test3('www.php.cn','可选参数手工传参, PHP中文网 '); echo '<br>'; echo '<br>'; function test4($num1,$num2,$num3,$num4) { return '五:传入的4个参数的值合计是:'.($num1+$num2+$num3+$num4); } echo test4(1120,2110,32102,99); echo '<br>'; echo '<br>'; function test5($num1,$num2,$num3,$num4) { return '六:使用func_num_args(),获取参数的数量是:'.func_num_args().'个';//获取参数的数量 } echo test5(1120,2110,32102,99); echo '<br>'; echo '<br>'; function test6($num1,$num2,$num3,$num4) { return '七:使用func_get_arg(),获取第2个参数的值是:'.func_get_arg(1);//获取指定参数的值 } echo test6(1120,2110,32102,99); echo '<br>'; echo '<br>'; function test7($num1,$num2,$num3,$num4) { return '八:使用func_get_args(),获取所有参数的数据返回数组:'.print_r(func_get_args(),true).'个';//获取所有参数的数据返回数组 } echo test7(1120,2110,32102,99); echo '<br>'; echo '<br>'; function test8() { return '九:函数无参数,传递4个参数值,通过func_get_arg()进行取参数,合计结果为:'.(func_get_arg(0)+func_get_arg(1)+func_get_arg(2)+func_get_arg(3)); } echo test8(1120,2110,32102,99); echo '<br>'; echo '<hr>'; echo'<h4>b、作用域</h4>'; echo '<br>'; $name="我是外部变量PHP中文网,通过函数内使用global 变量名称,才能在函数内调用"; function test9() { global $name; return $name; //也可以使用return $GLOBALS['name'];进行调用 } echo test9(); echo '<br>'; echo '<br>'; $name2="我是外部变量,通过函数内也可以使用return \$GLOBALS['name'];进行内部调用"; function test10() { return $GLOBALS['name2']; } echo test10(); echo '<br>';
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php echo '<h2 style="color: green">3. 编程: 数组常用的键值操作</h2>'; echo '<hr>'; echo'<h4>a、数组的创建和输出</h4>'; $student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男']; echo '<pre>',print_r($student,true),'</pre>'; echo '<br>'; echo'<h4>b、in_array()判断数组中是否存在某个值</h4>'; echo in_array('熊成浩',$student)? '数组中存在值为熊成浩的数据':'不存在'; echo '<br>'; echo'<h4>c、array_key_exists()判断键名是否存在于数组中</h4>'; echo array_key_exists('sex',$student)? '数组中存在键为sex的数据':'不存在'; echo '<br>'; echo'<h4>d、array_values()以索引的方式返回数组的值</h4>'; echo '以索引的方式返加$student的值<br><pre>'.print_r(array_values($student),true).'</pre>'; echo '<br>'; echo'<h4>e、array_search()以字符串的方式返回指定值的键</h4>'; echo '以字符串的方式返回指定值的键:'.array_search('熊成浩',$student); echo '<br>'; echo'<h4>f、array_flip() 键值对调</h4>'; echo '<pre>'.print_r(array_flip($student),true).'</pre>'; echo '<br>'; echo'<h4>g、array_flip() 键值对调</h4>'; echo '<pre>'.print_r(array_flip($student),true).'</pre>';
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php echo '<h2 style="color: green">3. 编程: 数组内部的指针操作</h2>'; echo '<hr>'; $student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男']; echo '<pre>',print_r($student,true),'</pre>'; echo'<h4>a、当前数组中的元素个数 count()</h4>'; echo '当前数组中的元素个数:'.count($student).'个'; echo '<br>'; echo'<h4>b、将指针指向第一个元素的键 key()</h4>'; echo '当前数组中的第一个元素的键是:'.key($student); echo '<br>'; echo'<h4>c、将指针指向第一个元素的值 current()</h4>'; echo '当前数组中的第一个元素的值是:'.current($student); echo '<br>'; echo'<h4>d、指针下移向第二个元素的键或值 next()</h4>'; next($student); echo '指针下移后当前元素的键是:'.key($student).'<br>'; echo '指针下移后当前元素的值是:'.current($student).'<br>'; echo '<br>'; next($student); echo '指针下移后当前元素的键是:'.key($student).'<br>'; echo '指针下移后当前元素的值是:'.current($student); echo '<br>'; echo'<h4>e、将指针指复位 reset()</h4>'; reset($student); echo '复位指针后当前元素的键是:'.key($student).'<br>'; echo '复位指针后当前元素的值是:'.current($student); echo '<br>'; echo'<h4>f、将指针指移到最后一个 end()</h4>'; end($student); echo '将指针移到最后一个元素的键是:'.key($student).'<br>'; echo '将指针移到最后一个元素的值是:'.current($student); echo '<br>'; echo'<h4>g、返回当前元素的键值的索引与关键的描述,并自动下移 each()</h4>'; reset($student); echo '<pre>'.print_r(each($student),true).'</pre>'; echo'<h4>h、将索引数组中的值赋值组一组变量,each() list()结合使用</h4>'; list($key,$value)=each($student); echo 'list中的$key为:'.$key.' $value为:'.$value; echo'<h4>i、使用while遍历循环 list()的键值</h4>'; reset($student); while (list($key,$value)=each($student)) //指针第一个元素开始查询key,value在student的直到最后一个 { echo 'list中的$key为:'.$key.' $value为:'.$value.'<br>'; }
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8"> <?php echo '<h2 style="color: green">4. 编程: 数组模拟栈与队列操作</h2>'; echo '<hr>'; echo'<h4>a、入栈 array_push() 从尾部入队 返回新数组的长度=count(数组)</h4>'; $student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男']; echo '<pre>',print_r($student,true),'</pre>'; echo '修改前数组的长度:',count($student); echo '<br>'; array_push($student,'广东省东莞市'); echo '<pre>',print_r($student,true),'</pre>'; echo '修改后数组的长度:',count($student); echo'<h4>b、出栈 array_pop() 返回出栈的数据,默认是从尾部往外出</h4>'; echo '第一次出栈的数据:'.array_pop($student); echo '<br>'; echo '第二次出栈的数据:'.array_pop($student); echo '<br>'; echo '第三次出栈的数据:'.array_pop($student); echo '<br>'; echo '<pre>',print_r($student,true),'</pre>'; echo'<h4>c、入队 array_unshift() 从头部入队</h4>'; array_unshift($student,'PHP中文网'); echo '<pre>',print_r($student,true),'</pre>'; array_unshift($student,'20180823'); echo '<pre>',print_r($student,true),'</pre>'; echo'<h4>d、出队 array_shift() 从头部往外出</h4>'; array_shift($student); echo '<pre>',print_r($student,true),'</pre>'; array_shift($student); echo '<pre>',print_r($student,true),'</pre>'; echo'<h4>e、模拟队列操作:增删只能在两端进行(从尾部入队 头部出队)</h4>'; array_push($student,'羽毛球'); array_push($student,'游泳'); echo '<pre>',print_r($student,true),'</pre>'; array_shift($student); echo '<pre>',print_r($student,true),'</pre>'; echo'<h4>f、模拟队列操作:增删只能在两端进行(从头部入队 尾部出队)</h4>'; array_unshift($student,'乒乓球'); array_unshift($student,'篮球'); echo '<pre>',print_r($student,true),'</pre>'; array_pop($student); echo '<pre>',print_r($student,true),'</pre>';
点击 "运行实例" 按钮查看在线实例
总结:本章节内容多,但容易理解,重要的是记住
循环语句:
while(): 入口判断型:如果条件不满足一次都不执行
do ~ while(): 出口判断型:不管条件是否满足先执行一次再判断
函数参数:
无传参;按名称调用,名称后面跟一对();
有默认参数调用时如果不传入参数自动默认,如果有传入参数,按传入参数;
多个参数时且有可选传参,必须将把必选参数放前面
作用域:
通过函数内也可以使用return $GLOBALS[变量名称]进行内部调用
数组键值:
in_array()判断数组中是否存在某个值
array_key_exists()判断键名是否存在于数组中
array_values()以索引的方式返回数组的值
array_search()以字符串的方式返回指定值的键
array_flip() 键值对调
array_flip() 键值对调
指针操作:
将指针指向第一个元素的键 key()
指针下移向第二个元素的键或值 next()
将指针指复位 reset()
将指针指移到最后一个 end()
返回当前元素的键值的索引与关键的描述,并自动下移 each()
将索引数组中的值赋值组一组变量,each() list()结合使用
使用while遍历循环 list()的键值
栈与队列:
入栈 array_push() 从尾部入队
出栈 array_pop() 返回出栈的数据,默认是从尾部往外出
入队 array_unshift() 从头部入队
出队 array_shift() 从头部往外出
队列操作:增删只能在两端进行(从尾部入队 头部出队)或者(从头部入队 尾部出队)