博客列表 >while()和do~while()循环,函数,数组函数,数组的栈与队操作,实战表格生成器--2018年8月24日13时59分

while()和do~while()循环,函数,数组函数,数组的栈与队操作,实战表格生成器--2018年8月24日13时59分

新竹网络_Terry的博客
新竹网络_Terry的博客原创
2018年08月24日 14:16:59772浏览

这节课主要讲了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);
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

}K04$K801`O)V%IEPYRM7VC.png


实例

<?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');
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

QKIOR(T0)0NLM6KBA(%J6GQ.png


实例

<?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>';
}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

6_S1Q}7R1}_8HDKWF_72FHT.png


实例

<?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);
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

K4I0O02~`5XP]R%N)GN`J{W.png

[F]EY41W[1U}B4Z{{U6OV72.png

总结

1、while()与do~while()的差别:while()入口判断型,do~while()出口判断型;

2、了解了函数的参数没有可选参数时可以直接输出调用,在有可选参数时必须把必选参数往前放,参数其实也就时一个占位符,仅供参考的,也可以没有;

3、了解到在函数内外声明的变量在函数内部使用时不同的使用方式;

4、了解到了数组的常用键值操作与数组内部指针操作,

5、了解到了如何使用数组来模拟退栈和队列操作;

 


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议