博客列表 >数组模拟栈与队的操作0823

数组模拟栈与队的操作0823

郭稳重啊的博客
郭稳重啊的博客原创
2018年08月25日 21:31:47879浏览

0823作业

实例

<?php
header("Content-type:text/html;charset=utf-8");
/**
 * while(): 入口判断型
 * do ~ while(): 出口判断型
 */
echo '<h2>for循环,while,do...while的九九乘法表实例</h2>';

//for循环实现九九乘法表,for - 循环代码块指定次数

for($i=9;$i>=1;$i--)
{
    for($j=1;$j<=$i;$j++)
    {
        echo $j.'*'.$i.'='.$i*$j.' ';
    }
    echo "<hr>";
}
//while-只要指定条件为真,则循环代码块

$i=1;//初始化条件
while($i<=9)//此处入口判断条件是否为真,如果为10,跳出循环,一次也不执行
{
    $j=1;
    while($j<=$i)
 {
     echo "$j*$i=".$j*$i."  "; $j++;
 }
    $i++;
    echo "<br>";
 }
//do ~ while()先执行一次代码块,然后只要指定条件为真则重复循环

$i=1;//初始化条件
do
{   $j=1;
    while($j<=$i)
 {
    echo "$j*$i=".$j*$i."  "; $j++;
 }
    $i++;
    echo "<hr>";
 }
  while($i<=9);//出口判断型,不管条件是否满足至少执行一次

运行实例 »

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

实例

<?php
header("Content-type:text/html;charset=utf-8");
/**
 * 函数的基本知识
 * 1.声明的语法
 * 2.参数设置
 * 3.返回值
 * 4.作用域
 */

//声明
function hello()
{
    return    '欢迎来到php中文网学习';
}
//调用: 按名调用,名称后跟上一对圆括号
echo hello(),'<hr>';

function hello1($siteName)
{
    return    '欢迎来到'.$siteName.'学习';
}
echo hello1('本站'),'<hr>';

//当有可选参数的时候,必须把必选参数往前放
function hello2($lang,$siteName='php中文网')
{
    return    '欢迎来到'.$siteName.'学习'.$lang;
}
echo hello2('php'),'<hr>';

//参数实际就是一个占位符,仅供参考,可以没有
function hello3()
{
//    return print_r(func_get_args(),true);
//    return func_get_arg(2);
//   return func_num_args(); //获取参数的数量
    return (func_get_arg(0) + func_get_arg(1) + func_get_arg(2));
}

echo hello3(4,5,6),'<hr>';

$siteName = 'php中文网';
// php中只有函数作用域,函数外部声明的变量在函数内部不能直接使用
function hello4 ()
{
//    global $siteName;
    return $GLOBALS['siteName'];
}
echo hello4();

运行实例 »

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

实例

<?php
header("Content-type:text/html;charset=utf-8");
/*
 * 使用数组来模拟堆栈和队列操作
 * 栈:先进后出,从一端出
 * 队列:先进先出,两端出
 */
$user = ['id'=>20180823, 'name'=>'Eason','gender'=>'male','age'=>18];
echo '<pre>',print_r($user,true);
echo '<hr>';
echo '当前长度: '. count($user), '<hr>';

// 入栈:array_push()返回新数组的长度= count()
 echo array_push($user, 'php中文网'),'<hr>';
 echo '当前长度: '. count($user), '<hr>';
 print_r($user);
 echo '<hr>';
//出栈:array_pop返回的是数组元素,并不是数组
echo array_pop($user),'<hr>';
 echo array_pop($user),'<hr>';
 echo array_pop($user),'<hr>';
 echo array_pop($user),'<hr>';
 echo array_pop($user),'<hr>';
 print_r($user);//当前为空数组
 echo '<hr>';

//入队: unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头
echo array_unshift($user, 'www.php.cn','peterzhu'),'<hr>';//返回值是新数组的长度,为2,因为前面出栈出完了,是一个空数组
print_r($user);//打印的是现在这个长度为2的新数组
//出队:shift()删除数组元素,谁先进,先删谁,返回的是数组元素,并不是数组
echo array_shift($user),'<hr>';//出队列,从一端出,www.php.cn先进先出,即删除数组中的www.php.cn元素
print_r($user);//当前数组只有peterzhu一个元素

//模拟队列操作: 增删只能在二端进行,不允许同一端进行,
//尾部进队
 array_push($user, 'php');
 print_r($user);
// 头部出队
 array_shift($user);
 print_r($user);//当前数组只有php一个元素
 echo '<hr>';

// 头部进队
 array_unshift($user, 'html');
 print_r($user);
// 尾部出队
 array_pop($user);
 print_r($user);

运行实例 »

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

实例

<?php
header("Content-type:text/html;charset=utf-8");
/**
 * 1.常用的键值操作in_array判断数组是否存在某个值,array_key_exist判断某个键是否存在。。。
 * 2.数组内部指针操作(巡航)
 */
$user = ['id'=>20180823, 'name'=>'Eason','gender'=>'male','age'=>18];
echo '<pre>',print_r($user,true).'<hr>';
//in_array()判断数组中是否存在某个值
  echo in_array('Eason',$user) ? '存在<br>' : '不存在<br>';
  echo in_array(18,$user) ? '存在<br>':'不存在<br>';
  echo  '<hr>';
//array_key_exists():判断某个键名是否存在于数组中?
 echo array_key_exists('salary',$user) ? '存在<br>' : '不存在<br>';
 echo array_key_exists('name',$user) ? '存在<br>' : '不存在<br>';
 echo '<hr>';
// array_values():以索引方式返回数组的值组成的数组
 print_r(array_values($user));
 echo '<hr>';
// array_keys()以索引方式返回数组的键组成的数组
 print_r(array_keys($user));
 echo '<hr>';
// array_search():以字符串的方式返回指定值 的键,返回的是键名
echo array_search('Eason',$user,true).'<br>';
echo array_search('male',$user,true);
echo '<hr>';
//键值对调
print_r(array_flip($user));
echo '<hr>';
//数组的内部操作,计算数组元素的个数
echo count($user),'<hr>';
//key()返回当前元素的键
echo key($user),'<hr>';//运行结果:当前指针的键为id
//current()返回当前元素的值
echo current($user),'<hr>';//运行结果:当前指针的值为20180823
//next()指针下移
next($user);//运行结果:当前指针的值为Eason
echo key($user),'<hr>';//运行结果:当前指针的键为name
echo current($user),'<hr>';//运行结果:因此此刻输出的当前的值为Eason
next($user).'<hr>';//运行结果:当前指针的值为male
next($user).'<hr>';//运行结果:当前指针的值为18
echo current($user),'<hr>';//此地判断一下:运行结果返回当前指针的值为18
echo key($user),'<hr>';//运行结果:当前指针的键为age
//复位reset($user);
reset($user);//复位到第一个元素的值,即20180823
echo key($user),'<hr>';//运行结果:肯定为id
//尾部end($user);
end($user);//返回到尾部的值为18
echo key($user),'<hr>';//返回到尾部的键age
//复位reset($user);
reset($user);//复位到第一个元素的值,即20180823
echo key($user),'<hr>';//运行结果:肯定为id
// each()返回当前元素的键值的索引与关联的描述,并自动下移
// print_r(each($user));
// print_r(each($user));
//echo '<hr>';
//list()将索引数组中的值,赋值给一组变量
list($key, $value) = each($user);
echo $key, '******', $value,'<hr>';
// while,list(),each() 遍历数组
reset($user);
//foreach()
foreach($user as $key=>$value){
 echo $key . ' => '. $value. '<br>';
}
echo '<hr>';
reset($user);
while (list($key, $value) = each($user))
{
echo $key . ' => '. $value. '<br>';
}

运行实例 »

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


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