博客列表 >while与do while循环语句,函数的基本知识,数组常用键值操作指针操作以及数组模拟栈与队列操作 180823课后作业

while与do while循环语句,函数的基本知识,数组常用键值操作指针操作以及数组模拟栈与队列操作 180823课后作业

一点蓝的博客
一点蓝的博客原创
2018年08月26日 23:11:31892浏览

本次作业包含while与do while循环语句的理解运用、函数的参数及作用域(如何引用全局变量)、数组常用的键值操作及指针操作实现方法、还有如何用数组模拟栈与队列操作(4种进出方法,最后总结)

作业一while与do while循环语句实例

<?php
/**
 * Created by PhpStorm.
 * User: suyh93
 * Date: 2018/8/26
 * Time: 14:16
 */
echo '<h1>while循环语句与do while循环语句</h1><hr>';
echo '<h3>while循环:将重复执行代码块直到制定条件不成立</h3>';

$money = 1000;
while ($money < 1008)
{
    echo $money < 1007 ? $money.',' : $money;
    $money++;
}
echo '<hr><h3>do while循环:语句最少会执行一次代码,然后检查条件,只要条件成立就会重复进行循环</h3>';
$money1 = 1000;
do {
    echo $money1;
    $money1++;
}
while ($money1 <1000);
    echo '<br>';
$money2 = 1000;
do {
    echo $money2 < 1007 ? $money2.',' : $money2;
    $money2++;
}
while ($money2 < 1008);
echo '<br>';

运行实例 »

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

本地运行效果图:

082301.jpg

作业二函数的参数与作用域实例

<?php
/**
 * Created by PhpStorm.
 * User: suyh93
 * Date: 2018/8/26
 * Time: 14:47
 */
echo '<h1>函数的参数与作用域</h1>';
echo '<hr><h3>函数的参数</h3>';
echo '<hr><h6>函数的基本语法演示:不带参数</h6>';
function money()
{
    return '钱不是万能的,但没有钱是万万不能的。';
}
echo money();


echo '<hr><h6>函数的基本语法演示:一个参数,在函数名后的括号内注明参数变量值</h6>';
function money1($a)
{
    return $a.',但没有钱是万万不能的。';
}
echo money1('钱不是万能的'),'<br>';
function money2($a = '钱不是万能的')
{
    return $a.',但没有钱是万万不能的。';
}
echo money2();


echo '<hr><h6>函数的基本语法演示:两个或多个参数,一定要把必选参数放到函数名括号内最前面</h6>';
function money3($a,$b = '钱不是万能的')
{
    return  $a.',但没有钱是万万不能的。';
}
echo money3('钱是万能的','钱不是万能的'),'<br>';

function money4($a = '钱不是万能的',$b = '钱是万能的')
{
    return  $a.',但没有钱是万万不能的。'.$b;
}
echo money4(),'<br>';

echo '<hr><h6>函数的基本语法演示:多个参数的调取方法(语法func_get_arg(顺序))</h6>';
function money5()
{
    return func_get_arg(0) + func_get_arg(1) + func_get_arg(2);
}
echo money5(2,4,6);

echo '<hr><h3>函数的作用域———使用$GLOBALS调用全局变量</h3>';
$money = 1000;//此变量非函数内变量,不可以直接使用,每个函数都有自己的作用域,如果要使用此变量需用超级全局变量$GLOBALS调用
function money6()
{
    return '身上只剩下'.$GLOBALS['money'].'块钱了';
}
echo money6();

运行实例 »

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

本地运行查看截图:

082302.jpg

作业三数组常用键值操作与指针操作实例

<?php
/**
 * Created by PhpStorm.
 * User: suyh93
 * Date: 2018/8/26
 * Time: 15:55
 */
echo '<h1>数组常用的键值操作与指针操作</h1>';
echo '<hr><h3>常用键值操作--创建原始数组</h3>';
$company = ['name' => 'suyh一点蓝','number' => '58人','time' => '2018','capital' => '1000000元人民币'];
echo '<pre>',print_r($company,true);
echo '<hr><h6>1判断数组中是否存在于某个值(使用函数in_array(值,数组))</h6>';
echo in_array('2018',$company) ? '公司2018成立' : '公司不是2018成立','<br>';
echo in_array('68人',$company) ? '公司有68人' : '公司没有68人';
echo '<hr><h6>1判断数组中是否存在于某个健名(使用函数array_key_exists(值,数组))</h6>';
echo array_key_exists('name',$company) ? '公司名称确定了' : '公司还没有选名','<br>';
echo array_key_exists('capital',$company) ? '能查询到公司资产' : '查不到公司资产';
echo '<hr><h6>以索引方式返回 由返回原数组的值组成的数组(使用函数array_values(数组)</h6>';
echo '<pre>',print_r(array_values($company),true);
echo '<hr><h6>以索引方式返回 由返回原数组的键组成的数组(使用函数array_keys(数组)</h6>';
echo '<pre>',print_r(array_keys($company),true);
echo '<hr><h6>以 字符串 方式返回 指定的值的键 (使用函数array_search(值,数组)</h6>';
echo array_search('suyh一点蓝',$company),'<br>';//返回name
echo array_search('1000000元人民币',$company);//返回capital
echo '<hr><h6>键值对调(使用函数array_flip(数组)</h6>';
echo '<pre>',print_r(array_flip($company),true);

echo '<hr><h3>数组常用指针操作</h3>';
echo '<hr><h6>查询数组内有多少元素count(数组)</h6>';
echo '该数组共有',count($company),'个元素';
echo '<hr><h6>返回当前元素的值(用current(数组))</h6>';
echo '当前元素值',current($company);//返回到suyh一点蓝
echo '<hr><h6>返回当前元素的键(用key(数组))</h6>';
echo '当前元素键',key($company);//返回到name
echo '<hr><h6>指针下移(用next(数组))</h6>';
echo '下移到',next($company),'<br>';//移到下一个元素58人
echo '当前元素值',current($company),'<br>';//当前元素值  58人
echo '当前元素键',key($company),'<br>';//当前元素键 number
echo '下移到',next($company),'<br>';//移到下一个元素2018
echo '当前元素值',current($company),'<br>';//当前元素值  2018年
echo '当前元素键',key($company),'<br>';//当前元素键 time
echo '<hr><h6>跳至尾部元素(用end(数组))</h6>';
echo '跳至尾部元素',end($company);//转到尾部1000000元人民币
echo '<hr><h6>复位元素(用reset(数组))</h6>';
echo '回到第一个元素',reset($company);//回到第一个元素suyh一点蓝
echo '<hr><h6>each(数组)返回当前元素的索引的键值的索引与关联描述,并自动下移,list()可以将索引数组中的值,赋值给一组变量</h6>';
echo '返回当前元素键值的索引与关联描述',print_r(each($company),true),'<br>';//打印出的当前元素的键值索引及关联描述
list($key,$value) = each($company);//each()自动下移,所以赋值变量为当前元素下一个元素的键值
echo $key,'=>',$value;
echo '<hr><h6>用while循环,list(),each()遍历数组</h6>';
reset($company);//复位
while (list($key,$value) = each($company))
{
    echo $key,'=>',$value,'<br>';
}

运行实例 »

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

本地查看效果图:

0823031.jpg

0823032.jpg

0823033.jpg

作业4数组模拟栈与队列操作实例

<?php
/**
 * Created by PhpStorm.
 * User: suyh93
 * Date: 2018/8/26
 * Time: 21:09
 */
echo '<h1>数组模拟栈与队列操作</h1>';
echo '<hr><h3>创建数组</h3>';
$company = ['name' => 'suyh一点蓝','number' => '58人','time' => '2018','capital' => '1000000元人民币'];
echo '<pre>',print_r($company,true);
echo '<hr><h6>模拟进栈操作(array_push(数组,进栈新元素)),进栈顺序为数组元素尾部进入</h6>';
echo '完成进栈操作返回值为新数组元素数量等同count()',array_push($company,'news'),'=',count($company),'<br>';//完成进栈操作但返回值为新数组元素数量等同count()
echo '最新数组<pre>',print_r($company,true);//打印新数组
array_push($company,'product');//继续入栈
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '<hr><h6>模拟出栈操作(array_pop(数组)),其出栈顺序为倒序出栈,由数组元素尾部倒序出栈</h6>';
echo '返回值为出栈元素的值',array_pop($company),'<br>';
echo '返回值为出栈元素的值',array_pop($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '返回值为出栈元素的值',array_pop($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '<hr><h6>模拟入队操作(array_unshift(数组,进队新元素)),属性与array_push()类似,进队顺序为由数组元素头部进入依序后排</h6>';
echo '完成进队操作返回值为新数组元素数量等同count()',array_unshift($company,'product'),'=',count($company),'<br>';//完成进队操作但返回值为新数组元素数量等同count()
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '完成进队操作返回值为新数组元素数量等同count()',array_unshift($company,'news'),'=',count($company),'<br>';//完成进队操作但返回值为新数组元素数量等同count()
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '<hr><h6>模拟出队操作(array_shift(数组)),属性与array_pop()类似为删除队列,出队顺序为由元素头部顺序出队</h6>';
echo '返回值为出队元素的值',array_shift($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '返回值为出队元素的值',array_shift($company),'<br>';
echo '返回值为出队元素的值',array_shift($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '<hr><h4>使用以上四种用法模拟队列操作:头部进队尾部出队/尾部进队头部出队</h4>';
echo '<h6>头部进队尾部出队</h6>';
echo '由头部顺序进三个元素,依序后排,显示总元素为',array_unshift($company,'php中文网','product','news');
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '尾部出队为删除数组值',array_pop($company),'<br>';
echo '尾部出队为删除数组值',array_pop($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '<h6>尾部进队头部出队</h6>';
echo '由尾部顺序进三个元素,依序后排,显示总元素为',array_push($company,'2018','68','phone');
echo '最新数组<pre>',print_r($company,true);//打印新数组
echo '删除头部出队元素的值',array_shift($company),'<br>';
echo '删除头部出队元素的值',array_shift($company),'<br>';
echo '最新数组<pre>',print_r($company,true);//打印新数组

运行实例 »

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

本地查看效果图:

0823041.jpg

0823042.jpg

0823043.jpg

0823044.jpg

总结:

1while与do while 循环语句的区分,do while不论条件如何让会先执行一次初始值

2函数的参数如果是必要参数一定要位于函数名后括号内前方,多个参数获取对应值使用func_get_arg(对应索引位置),函数内引用全局变量使用$GLOBALS[变量名]

3常见键值操作函数in_array(值,数组)/判断值是否在数组中;array_key_exists(键名,数组)/判断键名是否在数组中;array_values(数组)/以数组中的值以索引方式重组的新数组;array_keys(数组)/以以数组中的健名以索引方式重组的新数组;

array_search(值,数组)/返回一个字符串,该字符串是指定值的键名;array_flip(数组)/键值对调;

4常见的数组内部指针操作方法:key(数组)/返回当前元素键;current(数组)/返回当前元素值;next(数组)/下移一个元素;end(数组)/返回尾部元素;reset(数组)/复位重回数组第一个元素;each(数组)/返回当前元素的键值的索引和关联的描述,并自动下移一个元素,可以将each(数组)中的值赋值给list(设定变量)中的一组变量,通过while可以实现遍历该数组

5数组模拟栈与队列操作4种用法:array_push(数组,新增元素)/从原数组元素尾部顺序入栈,直接输出为新数组的元素数量=count(数组);array_pop(数组)/从数组尾部倒序出栈;array_unshift(数组,新增元素)/从原数组头部依进入顺序从前往后进队;array_shift(数组)/按照进队顺序出队

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