批改状态:合格
老师批语:
这节课主要讲了while()和do~while()循环,函数,数组函数,数组的栈与队操作,实战表格生成器看起来内容很多感觉自己还是需要加强练习
代码
<?php
//while()
$e=0;
while ($e<10)
{
echo $e<9?$e.',':$e;
$e++;
}
echo '<hr>';
// do while()
$f=0;
do{
echo $f<9?$f.',':$f;
$f++;
}while($f<10);
?>点击 "运行实例" 按钮查看在线实例
预览图

<?php
//函数的参数
function grade($name)
{
return '四年级的同学有'.$name;
}
echo grade('Terry');
echo '<hr>';
//当有可选参数的时候,必须把必选参数往前放
function gradeone($name,$level='三年级')
{
return $level.'的同学有'.$name;
}
echo gradeone('张三');
echo '<hr>';
//函数的作用域,函数外部声明的变量在函数内部不能直接使用
$work= 'php中文网';
function study()
{
return $GLOBALS['work'];
}
echo study(),'<br>';
//内部声明的变量在函数内可以直接使用
function studyone($work)
{
return $work;
}
echo studyone('php中文网11');
?>点击 "运行实例" 按钮查看在线实例
预览图

<?php
//数组常用的键值操作与指针操作
//数组常用的键值操作
$actable = ['id'=>1, 'name'=>'张三','grade'=>'高三','subject'=>'数学','achievement'=>89];
echo '<pre>',print_r($actable,true);
echo '<hr>';
//in_array()判断数组中是否存在某个值
echo in_array('李四',$actable) ? '已存在<br>' : '不存在<br>';
//array_key_exists():判断某个键名是否存在于数组中?
echo array_key_exists('name',$actable) ? '存在<br>' : '不存在<br>';
echo '<hr>';
//array_values()://以索引方式返回数组的值组成的数组
print_r(array_values($actable));
//array_keys()
print_r(array_keys($actable));
//array_search():以字符串的方式返回指定值的键
echo $actable[array_search('张三',$actable)];
//键值对调
print_r(array_flip($actable));
echo '<hr>';
//数组的指针操作
echo count($actable),'<br>';
//key()返回当前元素的键
echo key($actable),'<br>';
//current()返回当前元素的值
echo current($actable),'<hr>';
//next()指针下移
next($actable);
echo key($actable),'<br>';
echo current($actable),'<hr>';
next($actable);
echo key($actable),'<br>';
echo current($actable),'<hr>';
//复位
reset($actable);
echo key($actable),'<br>';
echo current($actable),'<hr>';
//尾部
end($actable);
echo key($actable),'<br>';
echo current($actable),'<br>';
reset($actable);
// each()返回当前元素的键值的索引与关联的描述,并自动下移
print_r(each($actable));
//list() //将索引数组中的值,赋值给一组变量
list($key, $value) = each($actable);
echo $key, '~~~~~', $value,'<hr>';
// while,list(),each() 遍历数组
reset($actable);
while (list($key, $value) = each($actable)) {
echo $key , ' => ', $value, '<br>';
}
?>点击 "运行实例" 按钮查看在线实例
预览图

<?php //数组模拟栈与队列操作 $actable = ['id'=>1, 'name'=>'张三','grade'=>'高三','subject'=>'数学','achievement'=>89]; echo '<pre>',print_r($actable,true),'<hr>'; echo '当前长度: '. count($actable), '<br>'; // 入栈:array_push()返回新数组的长度= count() echo array_push($actable, '高105班'); echo '当前长度: '. count($actable), '<br>'; print_r($actable); echo '<hr>'; echo array_pop($actable),'<br>'; echo array_pop($actable),'<br>'; echo array_pop($actable),'<br>'; echo '<hr>'; print_r($actable); //队: shift(),unshift() echo array_unshift($actable, 'www.php.cn','zhulaoshi'); print_r($actable); echo array_shift($actable),'<br>'; print_r($actable); echo '<hr>'; //模拟队列操作: 增删只能在二端进行,不允许同一端进行 array_push($actable, 'php'); //尾部进队 print_r($actable); array_shift($actable); // 头部出队 print_r($actable); echo '<hr>'; array_unshift($actable, 'html'); // 头部进队 print_r($actable); array_pop($actable); // 尾部出队 print_r($actable); ?>
点击 "运行实例" 按钮查看在线实例
预览图
![1535090942350320.png K4I0O02~`5XP]R%N)GN`J{W.png](https://img.php.cn//upload/image/278/782/292/1535090942350320.png)
![1535090958403337.png [F]EY41W[1U}B4Z{{U6OV72.png](https://img.php.cn//upload/image/583/225/271/1535090958403337.png)
总结
1、while()与do~while()的差别:while()入口判断型,do~while()出口判断型;
2、了解了函数的参数没有可选参数时可以直接输出调用,在有可选参数时必须把必选参数往前放,参数其实也就时一个占位符,仅供参考的,也可以没有;
3、了解到在函数内外声明的变量在函数内部使用时不同的使用方式;
4、了解到了数组的常用键值操作与数组内部指针操作,
5、了解到了如何使用数组来模拟退栈和队列操作;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号