Blogger Information
Blog 17
fans 0
comment 0
visits 10032
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
while()do-while()循环、函数、数组键值操作以及栈与队列-20180823
NiceLiving的博客
Original
1386 people have browsed it

1、while() do~while()循环

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-08-26
 * Time: 18:58
 */
echo '<h2>while(),do-while() 语法</h2>';

for($i=0;$i<10;$i++){
    echo $i<9?$i.',':$i.'<br>';
}
//入口判断型 while() 可能一次也不执行
$i=0; //初始化条件
while ($i<10) {
    echo $i < 9 ? $i . ',' : $i;
    $i++;  //更新条件
}
//出口判断型do-while()  至少执行一次
echo '<hr>';
$i=0;
do{
    echo $i<9?$i.',':$i;
    $i++;
} while ($i<10);

运行实例 »

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

2、函数的参数与作用域

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-08-26
 * Time: 20:26
 */

echo '<h2>函数的基本知识</h2>';

//函数声明
function hello()
{
    return '欢迎来到PHP中文网学习';
}

//调用: 按名调用,名称后跟一对圆括号
echo hello();
echo '<hr>';
//带参数的函数
function hello2($siteName)
{
    return '欢迎来到'.$siteName.'学习';
}
//传参
echo hello2('PHP中文网');

echo '<hr>';
//带默认值
function hello3($siteName='php中文网')
{
    return '欢迎来到'.$siteName.'学习';
}
//传参值将替换默认值
echo hello3('JAVA');
echo '<hr>';
//当有可选参数的时候,必须把必选参数往前放
function hello4($lang,$siteName='php中文网')
{
    return '欢迎来到'.$siteName.'学习'.$lang;
}
//传参值和方法中的参数一一对应,默认第一个传给第一个
echo hello4('JAVA').'<hr>';

//参数实际就是一个占位符,仅供参考,可以没有
//function hello5($a,$b,$c)
function hello5()
{
   // return print_r(func_get_args(),true);//获取所有参数的值
//    return func_get_arg(1);//获取某个参数值
//    return func_num_args();//获取参数的数量
//    return($a+$b+$c);
    //获取传参值相加一样可以获取和
    return( func_get_arg(0)+func_get_arg(1)+func_get_arg(2));

}
echo hello5(7,8,9);

运行实例 »

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

3、数组常用的键值操作与指针操作

实例

<?php
echo '<h2>数组函数(键值操作与内部指针)</h2>';
$user=['id'=>5,'name'=>'ben','sex'=>'baby','age'=>1];
// print_r($user);
echo '<pre>'.print_r($user,true);
 //in_array() 判断数组中是否存在某个值,精确匹配(区分大小写)
//返回booler值(ture或者false)
echo in_array('bn',$user)?'存在'.'<br>':'不存在'.'<br>';

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

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

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

//array_search() : 以字符串的方式返回指定值的键
$key= array_search('ben',$user); //获取键名赋值给$key
echo $user[$key].'<br>';  //输出键$key对应的值

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

echo '<h2>数组的内部操作</h2>';
//查询数组的个数
echo count($user).'<br>';
//key() 返回当前元素的键
echo key($user).'<br>';
//current() 返回当前元素的值
echo current($user).'<br>';
//next() 指针后移
next($user);
echo key($user).'<br>';
echo current($user).'<br>';
echo '<hr>';
//reset() 复位数组
reset($user);
echo key($user).'<br>';
echo current($user).'<br>';

//end() 指针指向尾部
end($user);
echo key($user).'<br>';
echo current($user).'<br>';

reset($user); //复位
echo '<hr>';
//each()返回当前元素的键值的索引与关联的描述,执行完并自动下移
print_r(each($user)) ;

//list() 将索引数组中的值,赋值给一组变量
list($key,$value)=each($user);
echo $key.'******'.$value;
reset($user); //复位
echo '<hr>';
//while(),list(),each()  遍历数组
$ccc=['id'=>6,'name'=>'ze','age'=>1,'sex'=>'baby'];
while (list($key,$value)=each($ccc)){
    echo $key.'=>'.$value.'<br>';
}

运行实例 »

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

4、数组模拟栈与队列操作

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-08-27
 * Time: 13:52
 */
echo '<h2>数组的栈和队操作</h2>';

$ccc=['id'=>6,'name'=>'ze','age'=>1,'sex'=>'baby'];
echo '<pre>',print_r($ccc,true);
echo '当前长度:'.count($ccc);
echo '<hr>';
//入栈 array_push() 返回新数组的长度 等于: count()
echo array_push($ccc,'php中文网');
echo '<pre>',print_r($ccc,true);
//出栈 array_pop()
echo array_pop($ccc).'<br>';
echo array_pop($ccc).'<br>';
echo array_pop($ccc).'<br>';

print_r($ccc);
//队操作  array_shift() array_unshift()

//添加 array_unshift()返回新数组的长度 等于: count()
echo array_unshift($ccc,'JAVA','hahahaha').'<br>';
print_r($ccc);
//删除 shift()
echo array_shift($ccc).'<br>';
print_r($ccc);
echo '<hr>';
//模拟队列操作: 增删只能在两端进行,不允许同一端进行
$b=['di'=>8,'name'=>'x','sex'=>'men'];
print_r($b);
array_unshift($b,'ww');//头部入队
print_r($b);
array_pop($b);//尾部出队
print_r($b);
array_push($b,'aaaaa');//尾部入队
print_r($b);
array_shift($b);//头部出队
print_r($b);

运行实例 »

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


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