Blogger Information
Blog 34
fans 0
comment 0
visits 32346
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
while(),do~while()+函数的参数与作用域+数组常用的键值操作与指针操作+数组模拟栈与队列操作
Belifforz的博客
Original
843 people have browsed it

实例

<?php
/**
 * while(): 入口判断型:判断条件满不满足,满足就执行
 * do ~ while(): 出口判断型:先执行一次,再判断条件满不满足
 */

for ($i=0; $i<10; $i++) {
    echo $i<9 ? $i.',' : $i;
}

echo '<hr>';

// while()

$i=0; //初始化条件
while($i<20) {
    echo $i<19 ? $i.',' : $i;
    $i++;  //更新条件
}
echo '<hr>';

//do ~ while()
$j=0; //初始化条件
 do {
    echo $j<10 ? $j.',' : $j;
    $j++;  //更新条件
} while($j<=10);

运行实例 »

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


实例

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

//声明
function hello()
{
  return    '你好';
}
//调用: 按名调用,名称后跟上一对圆括号
echo hello(),'<hr>';

function hello1($yourName)//此处为形参
{
    return    $yourName.'您好,欢迎光临';
}
echo hello1('张三');//此处传实参进去
echo '<hr>';

//当有可选参数的时候,必须把必选参数往前放
function hello2($yourName,$hotel='中华大酒店')
{
    return    $yourName.'您好,欢迎来到'.$hotel.'用餐';
}
echo hello2('张三'),'<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>';

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

运行实例 »

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


实例

<?php
/**
 * 1.常用的键值操作
 * 2.数组内部指针操作(巡航)
 */
$user = ['id'=>1, 'name'=>'张三','grade'=>'80','age'=>16];
echo '<pre>',print_r($user,true);
//in_array()判断数组中是否存在某个值
//echo in_array('peter',$user) ? '存在<br>' : '不存在<br>';
//array_key_exists():判断某个键名是否存在于数组中?
//echo array_key_exists('salary',$user) ? '存在<br>' : '不存在<br>';
// array_values():以索引方式返回数组的值组成的数组
//print_r(array_values($user));
// array_keys()
//print_r(array_keys($user));
// array_search():以字符串的方式返回指定值的键
//echo $user[array_search('peter',$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>';
}

echo '<hr>';

运行实例 »

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


实例

<?php
/**
 * 使用数组来模拟堆栈和队列操作
 */
$user = ['id'=>1, 'name'=>'张三','grade'=>'80','age'=>16];
echo '<pre>',print_r($user,true);
//echo '当前长度: '. count($user), '<br>';
// 入栈:array_push()返回新数组的长度= count()
//echo array_push($user, 'php中文网');
//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);
//模拟队列操作: 增删只能在二端进行,不允许同一端进行
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);
echo '<hr>';
$array = [
    '1' => '我是第一个,我要去第五个',
    '2' => '我是第二个',
    '3' => '我是第三个',
    '4' => '我是第四个',
    '5' => '我是第五个'
];

print_r($array);
echo '处理后的结果:';
array_push($array,array_shift($array));
print_r($array);

运行实例 »

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


php中的函数操作,在日后编程中是经常用到的,所以要多练习。还要理解关于堆栈与队列的原理和区别;

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