博主信息
博文 34
粉丝 0
评论 1
访问量 29435
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0823作业:函数基础和数组
Samoye
原创
886人浏览过

作业1:do while 和while的区别

实例

<?php
/**
 while 和 do while 循环是常用的循环语句:
 * while:入口型判断循环
 *      语法:while(条件语句){循环体}
 * do while :出口判断型循环语句
 *      语法:do {循环体}while(条件);
 * 区别:while条件不成立就不执行,do-while条件不成立也要执行一次;
 */
//举个栗子:

$i=1;
$sum=0;
while($i<=100){
    $sum+=$i;
    $i++;

}
echo $sum;
echo "<hr>";

$a=1;
$b=0;
do{
    $b+=$a;
    $a++;

}while($a<101);
echo $b;

运行实例 »

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

作业2:函数的参数和作用域

实例

<?php
/**
 *1.函数的语法结构:
 * functiom 函数名 (参数1,参数2,...)
 * {
        函数体/运算语句
 * }
 * 函数的名,命名规则:
 *          1.函数名尽量能够提示它要实现的功能;
 *          2.函数的名称以字母和下划线开头
 *          3.函数名不区分大小写;
 *          4.函数可以被多次调用---代码的重用性;
 * 函数的参数:
 *      参数分可以形式参数和实际参数;
 *      参数的默认值;
 *      有可选参数和必须参数同时都有,必选参数放在可选参数前;
 *      匿名函数:没有名字的函数,保存在变量中;
 */
//举个栗子:

//求两个数的和 带有参数的函数
function add ($num1,$num2) // 有两个形参
{
    $sum=$num2+$num1;
    return $sum;
}
 add(3,8); //调用函数,并传递两个实参,传值;

function shi ($name,$sex,$age='未知',$add='不详') //带有默认参数的函数
{
    echo "你好:{$name}<br>";
    echo "性别:{$sex}<br>";
    echo "年龄:{$age}<br>";
    echo "住址:{$add}<br>";
}
shi(小师太,女);
echo "<hr>";

//匿名函数

$str=function ($args)
{
    echo $args;
};//匿名函数,这里要有个分号;

$str('夜太美,你太温柔!');
echo "<hr>";

//参数个数不确定的函数
function fun()
{
    $n=func_num_args();//获取传递参数的个数;
    $array=func_get_args();//获得传递的参数,并转换成数组
    $sum=0;
    for($i=0;$i<$n;$i++){
        $sum+=$array[$i];
    }
    echo '参数的和是:'.$sum.'<hr>';
}
fun(10,20,30);
echo "<hr>";
//函数的作用域和变量的作用域类似;

运行实例 »

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

作业3:数组常用的键值和指针操作

实例

<?php
/**
 *1.数组常用的键值操作
 *      in_array(valve,数组)
 *      array_key_exists(key ,数组)
 *      array_values();以索引方式返回数组的所有值
 *      array_keys():返回数组的所有键名;
 *      array_search():以字符串的方式返回指定值的键名,失败返回false;
 *      array_flip(数组):键值对调
 *      count():获取数组的元素数量/长度
 *      array_reverse(array);数组翻转;
 *      array_uniquer():去重复
 *
 *
 *******************
 *      $array=range('a','z') 生成一个指定范围的数组
 *      array_merge() 合并数组
 *      array_rand(数组,数字),随机取出’数字‘个元素
 *      shuffle(array):打乱数组
 *      array_slice();
 *      array_splice();
 *      array_chunk();
 *      array_pad();
 *
 * 2.数组的指针操作
 *      key(数组):返回当前数组指针指向元素的键名
 *      current():返回当前数组指针指向元素的值;
 *      next(数组);指针下移以为;
 *      reset(数组);重置指针;
 *      end(数组):指针移到尾部;
 *      each():返回当前元素的键值的索引与关联的描述//PHP7 淘汰
 *      list():将索引数组中的值,付给一组变量;
 *
 ********************
 *      array_combine(键数组,值数组)创建一个数组,用键数组的值做键名,值数组的值做值
 *      array_map();
 */
//举个栗子:
$stu = array('学号'=>'20180630','姓名'=>'李白','性别'=>'男','年龄'=>'21','专业'=>'汉语文学');
    var_dump(in_array('李白',$stu));
    echo "<hr>";
    var_dump(array_key_exists('年龄',$stu));
    echo "<hr>";
    //array_key_exists('学号',$stu)?'find':'not find'; 那里错了,不显示?
    print_r(array_values($stu));
    echo "<hr>";
    print_r(array_keys($stu));
echo "<hr>";
    echo array_search('李白',$stu),'<br>';  //输出:姓名
    $num=count($stu);
    echo $num,'<hr>';
    print_r(array_flip($stu));//键值对调
echo "<hr>";
//指针操作
$name = array('peter','joe','jimmy','core','albert');
echo key($name).'<hr>';
next($name);//让指针下移一位;
echo key($stu).'<hr>';
echo current($name),'<hr>';
reset($name);
echo current($name),'<hr>';
print_r(each($name));
echo "<hr>";
print_r(each($name));//输出了4个,2对键值关系
reset($name);
echo "<hr>";
while ($s=each($name)){
    list($key,$value)=$s;
    echo $key,'-',$value,'<br>';
}
echo "<hr>";
// 补充:数组的遍历
// 1.for 遍历索引数组
$name1 = ['peter','joe','jimmy','core','albert'];
$str='';
for($i=0;$i<count($name1);$i++){
    $str.=$name[$i].','; //利用.= 赋值给字符串str,并添加逗号
}
echo rtrim($str,',');//rtrim 删除字符串的两边的逗号
echo "<hr>";
// 2. foreach 遍历关联数组
$stu1 = ['学号'=>'20180630','姓名'=>'李白','性别'=>'男','年龄'=>'21','专业'=>'汉语文学'];
foreach($stu1 as $value){
    echo $value;
}
foreach($stu1 as $key=>$value){
    echo $key. '==>'.$value.'<br>';
}
// print_r var_dump()  var_export;这三个输出语句的区别和作用

运行实例 »

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

作业4:数组模拟栈和队列操作

实例

<?php
/**
  用数组模拟栈和队列操作;
 *  1.栈是后进先出 一端进出;
    2.队列是先进先出,2端进出;
 */
//举个栗子
//模拟栈
$shi = array('李商隐');
array_push($shi,'李白','杜甫');//入栈2个
array_push($shi,'白居易');
print_r($shi);
echo '<hr>';
array_pop($shi);//出栈 白居易
array_pop($shi); //出栈杜甫
print_r($shi);
echo '<hr>';

//模拟队列操作

$name = array('peter','core','jimmy');
echo array_shift($name),'<hr >';//删除并返回删除的值,从头部开始
echo array_shift($name),'<hr >';

echo array_unshift($name,'tom'),'<hr>';
echo array_unshift($name,'albert'),'<hr>';
print_r($name);

/*
 * 总结:
 * 模拟队列操作的方法:
 * push压栈,相当于在队列尾部增加元素
 * pop出栈,相当于在队列尾部删除元素
 * shift,是队列删除头部元素
 * unshift,是在队列头部插入元素
 */

运行实例 »

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


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学