博客列表 >0823-while(),do~while() 数组模拟栈与队列操作

0823-while(),do~while() 数组模拟栈与队列操作

3期-Shawn的博客
3期-Shawn的博客原创
2018年08月24日 13:58:59581浏览

0823zuoye01.png

实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>0823作业</title>
</head>
<body>
	<h2>作业1. 编程: 实例演示while(),do~while()</h2> <br>
	<?php

    $i = 0;
    while ($i <= 9)
    {
    	echo $i++;	
    }

    echo '<br>';


   $i  =  0 ;
   do {
       echo  $i++ ;
      } 
   while ( $i <= 9 );


    echo '<br>';


   $i  =  10 ;
   do {
       echo  $i++ ;
      } 
   while ( $i <= 9 );


   
	?>

	<hr>
	<h2>作业2. 编程: 函数的参数与作用域</h2> <br> 
	<?php
    $siteName = 'php中文网';
    // php中只有函数作用域,函数外部声明的变量在函数内部不能直接使用,可以放在全局变量内或者提前进行全局声明
     function hello ()
     {
      return $GLOBALS['siteName'];
     }

     echo hello();

      $siteName1 = 'www.php.cn';

      echo '<br>';

     function hello1 ()
     {
      global $siteName1;
      return $siteName1;
     }
     echo hello1();

	?>
	<hr>
	<h2>作业3. 编程: 数组常用的键值操作与指针操作</h2> <br>
<?php

	$user= ["id"=>"2","name"=>"王老师","age"=>"26","city"=>"上海"];
	echo '<pre>';
	print_r($user) ;
	echo $user['name'].'的ID是:'.$user['id'];
    echo '<br>';
  

    //in_array()判断数组中是否存在某个值
    echo in_array('王老师', $user) ?'存在' : '不存在';
    echo '<br>';

    //array_key_exists():判断某个键名是否存在于数组中?
    echo array_key_exists('王老师', $user) ?'存在' : '不存在';
    echo '<br>';

    // array_values():以索引方式返回数组的值组成的数组
    print_r(array_values($user));

    // array_keys():以索引方式返回数组的键名组成的数组
    print_r(array_keys($user));

    // array_search():以字符串的方式返回指定值的键
    
    print_r(array_search('王老师',$user));
    echo '<br>';
    echo $user[array_search('王老师',$user)];
    echo '<br>';

    //键值对调array_flip()
    print_r(array_flip($user));

    //数组的内部数量统计
    echo count($user),'<br>';

    //key()返回当前元素的键
    echo key($user),'<br>';

    //current()返回当前元素的值
    echo current($user),'<br>';
    echo '<hr>';

    //next()指针下移
    echo next($user),'<br>';

    //end()指针尾部
    echo end($user),'<br>';

    //reset()指针复位
    echo reset($user),'<br>';

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

    //list() 将索引数组中的值,赋值给一组变量
    list($key,$value) = each ($user);
    echo $key, '******',$value, '<br>' ,'<br>';


    // while,list(),each() 遍历数组

    reset($user);//指针复位后进行遍历
    while (list($key, $value) = each($user))
    {
     echo $key , ' => ', $value, '<br>';
    }


?>
	<hr>
	<h2>作业4. 编程: 数组模拟栈与队列操作</h2> <br>
<?php

//使用数组来模拟堆栈和队列操作
$user= ["id"=>"2","name"=>"王老师","age"=>"26","city"=>"上海"];

echo '<pre>',print_r($user,true);//print_r(); 第二个参数 为true时 返回值 而不显示。
echo '当前数组数量: '. count($user), '<br>';//数组的数量: count()

// 入栈:array_push();并返回新数组的长度
echo array_push($user, 'php中文网'),'<br>';
echo '当前数组数量: '. count($user), '<br>';
print_r($user);
// 出栈:array_pop();并返回出栈的值
echo array_pop($user),'<br>';
echo array_pop($user),'<br>';
echo array_pop($user),'<br>';
print_r($user);



//队: shift(),unshift()

// 入队:unshift();并返回新数组的数量
echo array_unshift($user, 'www.php.cn','peterzhu');
print_r($user);
//出队,并返回出去的值
echo array_shift($user),'<br>';
print_r($user);


//模拟队列操作: 增删只能在二端进行,不允许同一端进行
array_push($user, 'php'); //尾部进队
print_r($user);

array_shift($user); // 头部出队
print_r($user);

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

array_pop($user);  // 尾部出队
print_r($user);    
?>



	 
	 
	 
	
    
    
    


</body>
</html>

运行实例 »

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


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