Blogger Information
Blog 35
fans 0
comment 0
visits 37318
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
演示while ; 函数的参数与作用域; 数组; 数组模拟栈与队列操作(0823)
Ray的博客
Original
766 people have browsed it

1. 编程: 实例演示while(),do~while()


实例

<?php
/**
 * while(): 入口判断型
 * do ~ while(): 出口判断型
 */

// while() 

$i=1; //初始化条件
while($i<10) {
	for ($j=1; $j<10; $j++) {
	    echo $i*$j.',';
	}

    $i++;  //更新条伯
    echo '<br>'; //换行
}
echo '<hr>';

//do ~ while()
$i=1; //初始化条件
 do {

    for ($j=1; $j<10; $j++) {
	    echo $i*$j.',';
	}
	
    $i++;  //更新条伯
    echo '<br>'; //换行

} while($i<10);

运行实例 »

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

运行效果图:

hm-1.png

2. 编程: 函数的参数与作用域

实例

<?php
/**
 * 函数的基本知识
 * 1.声明的语法
 * 2.参数设置
 * 3.返回值
 * 4.作用域
 */

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

function hello1($siteName)
{
    return    '来到'.$siteName.'学习真是好!!';
}
echo hello1('php中文网'),'<hr>';

//当有可选参数的时候,必须把必选参数往前放
function hello2($lang,$who1,$siteName='php中文网')
{
    return    $who1.'来到'.$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(7,8,9),'<hr>';

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

运行实例 »

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

运行效果图:

hm-2.png

3. 编程: 数组常用的键值操作与指针操作

实例

<?php
/**
 * 1.常用的键值操作
 * 2.数组内部指针操作(巡航)
 */
$user = ['id'=>50, 'name'=>'Raymond','gender'=>'male','age'=>28];
echo '<pre>',print_r($user,true);
//in_array()判断数组中是否存在某个值
echo in_array('peter',$user) ? 'peter存在<br>' : 'peter不存在<br>';
echo in_array('Raymond',$user) ? 'Raymond存在<br>' : 'Raymond不存在<br>';
//array_key_exists():判断某个键名是否存在于数组中?
echo array_key_exists('salary',$user) ? 'salary字段存在<br>' : 'salary字段不存在<br>';
// array_values():以索引方式返回数组的值组成的数组
print_r(array_values($user));
// array_keys()
//print_r(array_keys($user));
// array_search():以字符串的方式返回指定值的键
echo $user[array_search('Raymond',$user)];
//键值对调
//print_r(array_flip($user));

//数组的内部操作
echo count($user),'<br>';
//key()返回当前元素的键
echo key($user),'<br>';
//current()返回当前元素的值
echo current($user),'<hr>';
//next()指针下移
next($user);
echo key($user),'<br>';
echo current($user),'<hr>';

next($user);
echo key($user),'<br>';
echo current($user),'<hr>';
//复位
reset($user);
echo key($user),'<br>';
echo current($user),'<hr>';
//尾部
end($user);
echo key($user),'<br>';
echo current($user),'<br>';
reset($user);
// each()返回当前元素的键值的索引与关联的描述,并自动下移
print_r(each($user));
//print_r(each($user));
//list() //将索引数组中的值,赋值给一组变量
list($key, $value) = each($user);
echo $key, '******', $value,'<hr>';
// while,list(),each() 遍历数组

reset($user);
while (list($key, $value) = each($user)) {
    echo $key , ' => ', $value, '<br>';
}

运行实例 »

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

运行效果图:

hm-3.png

4. 编程: 数组模拟栈与队列操作

实例

<?php
/**
 * 使用数组来模拟堆栈和队列操作
 */
$user = ['id'=>5, 'name'=>'peter','gender'=>'male'];

echo '<pre>',print_r($user,true);
echo '当前长度: '. count($user), '<br>';
// 入栈:array_push()返回新数组的长度= count()
echo array_push($user,'50','Raymond','male');

echo '当前长度: '. count($user), '<br>';
print_r($user);

echo array_pop($user),'<br>'; // 头部出栈
echo array_pop($user),'<br>'; // 头部出栈
echo array_pop($user),'<br>'; // 头部出栈
print_r($user);

//队: shift(),unshift()
// echo array_unshift($user, 'www.php.cn','peterzhu');
// print_r($user);
// echo array_shift($user),'<br>';
// print_r($user);// 头部出队
echo '<hr>';

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

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

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

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

运行实例 »

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

运行效果图:

hm-4.png

总结:php的函数和数组的遍历是基础和实战中经常用到的技术,必须熟练掌握。

Correction status:Uncorrected

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
Author's latest blog post