博客列表 >循环语句\函数的参数与作用域\数组的键值\指针\栈与队列—2018年8月24日02时18分

循环语句\函数的参数与作用域\数组的键值\指针\栈与队列—2018年8月24日02时18分

耗子的博客
耗子的博客原创
2018年08月24日 02:35:47987浏览

本节课:重点讲解了循环语句,函数参数,数组,指针,栈队列

内容较多,更多的需要去记住;

实例:循环语句

<meta charset="UTF-8">

<?php

echo '<h2 style="color: green">1. 编程: 实例演示while(),do~while()</h2>';
echo '<hr>';
echo'<h4>a、for循环使用:入口判断型</h4>';
for ($i=1;$i<=10;$i++)
{
 echo '这是你今天跑的第'. $i. '圈','<br>';
}

for ($i=0;$i<10;$i++)
{
    //echo $i.',';  //在每个$i后面都有,

    echo $i<9 ? $i.',' : $i;  //使用三元运算符,如果<9则显示,
}





echo '<hr>';
echo'<h4>b、while()循环使用:入口判断型,如果条件不满足一次都不执行</h4>';
$num=1;//初始化条件
while ($num<=10)
{
    echo '当前条件满足<=10才执行,值为'.$num.'<br>'; //显示条件
    $num++;  //更新条件
}




echo '<hr>';
echo'<h4>c、do while()循环使用:出口判断型,先执行一次再判断</h4>';
$num1=1;
do
{
    echo '不过条件是否满足,先执行一次再判断,'.$num1.'<br>'; //显示条件
    $num1++;  //更新条件
}
while ($num1<0);

运行实例 »

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

实例:函数参数

<meta charset="UTF-8">
<?php


echo '<h2 style="color: green">2. 编程: 函数的参数与作用域</h2>';
echo '<hr>';
echo'<h4>a、声明</h4>';


function test()
{
    return '一:无传参;按名称调用,名称后面跟一对()';
}
echo test();
echo '<br>';


echo '<br>';
function test1($name)
{
    return '二:'.$name.';调用时需要传入参数';
}
echo test1('有一个参数');
echo '<br>';
echo '<br>';


function test2($name='默认有参数')
{
    return '三:'.$name.';调用时如果不传入参数自动默认,如果有传入参数,按传入参数';
}
echo test2();
echo '<br>';
echo test2('手工传参数');
echo '<br>';



echo '<br>';
function test3($domain,$name='PHP中文网')
{
    return '四:'.$name.'的域名是'.$domain.'(多个参数时且有可选传参,必须将把必选参数放前面)';
}
echo test3('www.php.cn');
echo '<br>';
echo test3('www.php.cn','可选参数手工传参, PHP中文网 ');
echo '<br>';


echo '<br>';
function test4($num1,$num2,$num3,$num4)
{
    return '五:传入的4个参数的值合计是:'.($num1+$num2+$num3+$num4);
}
echo test4(1120,2110,32102,99);
echo '<br>';


echo '<br>';
function test5($num1,$num2,$num3,$num4)
{
    return '六:使用func_num_args(),获取参数的数量是:'.func_num_args().'个';//获取参数的数量
}
echo test5(1120,2110,32102,99);
echo '<br>';


echo '<br>';
function test6($num1,$num2,$num3,$num4)
{
    return '七:使用func_get_arg(),获取第2个参数的值是:'.func_get_arg(1);//获取指定参数的值
}
echo test6(1120,2110,32102,99);
echo '<br>';


echo '<br>';
function test7($num1,$num2,$num3,$num4)
{
    return '八:使用func_get_args(),获取所有参数的数据返回数组:'.print_r(func_get_args(),true).'个';//获取所有参数的数据返回数组
}
echo test7(1120,2110,32102,99);
echo '<br>';


echo '<br>';
function test8()
{
    return '九:函数无参数,传递4个参数值,通过func_get_arg()进行取参数,合计结果为:'.(func_get_arg(0)+func_get_arg(1)+func_get_arg(2)+func_get_arg(3));
}
echo test8(1120,2110,32102,99);
echo '<br>';


echo '<hr>';
echo'<h4>b、作用域</h4>';
echo '<br>';

$name="我是外部变量PHP中文网,通过函数内使用global 变量名称,才能在函数内调用";
function test9()
{
    global $name;
    return $name;

    //也可以使用return $GLOBALS['name'];进行调用
}
echo test9();
echo '<br>';



echo '<br>';
$name2="我是外部变量,通过函数内也可以使用return \$GLOBALS['name'];进行内部调用";
function test10()
{


    return $GLOBALS['name2'];
}
echo test10();
echo '<br>';

运行实例 »

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

实例:数组常用键值操作

<meta charset="UTF-8">
<?php

echo '<h2 style="color: green">3. 编程: 数组常用的键值操作</h2>';
echo '<hr>';
echo'<h4>a、数组的创建和输出</h4>';

$student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男'];

echo '<pre>',print_r($student,true),'</pre>';

echo '<br>';
echo'<h4>b、in_array()判断数组中是否存在某个值</h4>';
echo in_array('熊成浩',$student)? '数组中存在值为熊成浩的数据':'不存在';


echo '<br>';
echo'<h4>c、array_key_exists()判断键名是否存在于数组中</h4>';
echo array_key_exists('sex',$student)? '数组中存在键为sex的数据':'不存在';


echo '<br>';
echo'<h4>d、array_values()以索引的方式返回数组的值</h4>';
echo '以索引的方式返加$student的值<br><pre>'.print_r(array_values($student),true).'</pre>';


echo '<br>';
echo'<h4>e、array_search()以字符串的方式返回指定值的键</h4>';
echo '以字符串的方式返回指定值的键:'.array_search('熊成浩',$student);


echo '<br>';
echo'<h4>f、array_flip() 键值对调</h4>';
echo '<pre>'.print_r(array_flip($student),true).'</pre>';


echo '<br>';
echo'<h4>g、array_flip() 键值对调</h4>';
echo '<pre>'.print_r(array_flip($student),true).'</pre>';

运行实例 »

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

实例:数组指针

<meta charset="UTF-8">
<?php

echo '<h2 style="color: green">3. 编程: 数组内部的指针操作</h2>';
echo '<hr>';

$student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男'];
echo '<pre>',print_r($student,true),'</pre>';

echo'<h4>a、当前数组中的元素个数 count()</h4>';
echo '当前数组中的元素个数:'.count($student).'个';

echo '<br>';
echo'<h4>b、将指针指向第一个元素的键 key()</h4>';
echo '当前数组中的第一个元素的键是:'.key($student);


echo '<br>';
echo'<h4>c、将指针指向第一个元素的值 current()</h4>';
echo '当前数组中的第一个元素的值是:'.current($student);


echo '<br>';
echo'<h4>d、指针下移向第二个元素的键或值 next()</h4>';
next($student);
echo '指针下移后当前元素的键是:'.key($student).'<br>';
echo '指针下移后当前元素的值是:'.current($student).'<br>';
echo '<br>';
next($student);
echo '指针下移后当前元素的键是:'.key($student).'<br>';
echo '指针下移后当前元素的值是:'.current($student);


echo '<br>';
echo'<h4>e、将指针指复位 reset()</h4>';
reset($student);
echo '复位指针后当前元素的键是:'.key($student).'<br>';
echo '复位指针后当前元素的值是:'.current($student);


echo '<br>';
echo'<h4>f、将指针指移到最后一个 end()</h4>';
end($student);
echo '将指针移到最后一个元素的键是:'.key($student).'<br>';
echo '将指针移到最后一个元素的值是:'.current($student);


echo '<br>';
echo'<h4>g、返回当前元素的键值的索引与关键的描述,并自动下移 each()</h4>';
reset($student);
echo '<pre>'.print_r(each($student),true).'</pre>';


echo'<h4>h、将索引数组中的值赋值组一组变量,each()  list()结合使用</h4>';
list($key,$value)=each($student);
echo 'list中的$key为:'.$key.'  $value为:'.$value;


echo'<h4>i、使用while遍历循环 list()的键值</h4>';
reset($student);
while (list($key,$value)=each($student)) //指针第一个元素开始查询key,value在student的直到最后一个
{
    echo 'list中的$key为:'.$key.'  $value为:'.$value.'<br>';
}

运行实例 »

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

实例:栈与队列

<meta charset="UTF-8">
<?php

echo '<h2 style="color: green">4. 编程: 数组模拟栈与队列操作</h2>';
echo '<hr>';

echo'<h4>a、入栈 array_push() 从尾部入队   返回新数组的长度=count(数组)</h4>';

$student=['id'=>79052,'name'=>'熊成浩','email'=>'996114@qq.com','sex'=>'男'];
echo '<pre>',print_r($student,true),'</pre>';
echo '修改前数组的长度:',count($student);
echo '<br>';
array_push($student,'广东省东莞市');

echo '<pre>',print_r($student,true),'</pre>';
echo '修改后数组的长度:',count($student);



echo'<h4>b、出栈 array_pop() 返回出栈的数据,默认是从尾部往外出</h4>';

echo '第一次出栈的数据:'.array_pop($student);
echo '<br>';
echo '第二次出栈的数据:'.array_pop($student);
echo '<br>';
echo '第三次出栈的数据:'.array_pop($student);
echo '<br>';
echo '<pre>',print_r($student,true),'</pre>';


echo'<h4>c、入队 array_unshift() 从头部入队</h4>';
array_unshift($student,'PHP中文网');
echo '<pre>',print_r($student,true),'</pre>';
array_unshift($student,'20180823');
echo '<pre>',print_r($student,true),'</pre>';



echo'<h4>d、出队 array_shift() 从头部往外出</h4>';
array_shift($student);
echo '<pre>',print_r($student,true),'</pre>';
array_shift($student);
echo '<pre>',print_r($student,true),'</pre>';



echo'<h4>e、模拟队列操作:增删只能在两端进行(从尾部入队 头部出队)</h4>';
array_push($student,'羽毛球');
array_push($student,'游泳');

echo '<pre>',print_r($student,true),'</pre>';
array_shift($student);
echo '<pre>',print_r($student,true),'</pre>';



echo'<h4>f、模拟队列操作:增删只能在两端进行(从头部入队 尾部出队)</h4>';
array_unshift($student,'乒乓球');
array_unshift($student,'篮球');

echo '<pre>',print_r($student,true),'</pre>';
array_pop($student);
echo '<pre>',print_r($student,true),'</pre>';

运行实例 »

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



总结:本章节内容多,但容易理解,重要的是记住

循环语句:

while(): 入口判断型:如果条件不满足一次都不执行

do ~ while(): 出口判断型:不管条件是否满足先执行一次再判断

函数参数:

无传参;按名称调用,名称后面跟一对();

有默认参数调用时如果不传入参数自动默认,如果有传入参数,按传入参数;

多个参数时且有可选传参,必须将把必选参数放前面

作用域:

通过函数内也可以使用return $GLOBALS[变量名称]进行内部调用

数组键值:

in_array()判断数组中是否存在某个值

array_key_exists()判断键名是否存在于数组中

array_values()以索引的方式返回数组的值

array_search()以字符串的方式返回指定值的键

array_flip() 键值对调

array_flip() 键值对调

指针操作:

将指针指向第一个元素的键 key()

指针下移向第二个元素的键或值 next()

将指针指复位 reset()

将指针指移到最后一个 end()

返回当前元素的键值的索引与关键的描述,并自动下移 each()

将索引数组中的值赋值组一组变量,each()  list()结合使用

使用while遍历循环 list()的键值

栈与队列:

入栈 array_push() 从尾部入队

出栈 array_pop()  返回出栈的数据,默认是从尾部往外出

入队 array_unshift() 从头部入队

出队 array_shift() 从头部往外出

队列操作:增删只能在两端进行(从尾部入队 头部出队)或者(从头部入队 尾部出队)


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