Blogger Information
Blog 15
fans 0
comment 0
visits 12418
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
while与do while循环语句,函数的基本知识,数组常用键值操作指针操作以及数组模拟栈与队列操作 180823课后作业
一点蓝的博客
Original
893 people have browsed it

本次作业包含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(数组)/按照进队顺序出队

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments