博客列表 >while()do-while()循环、函数、数组键值操作以及栈与队列-20180823

while()do-while()循环、函数、数组键值操作以及栈与队列-20180823

NiceLiving的博客
NiceLiving的博客原创
2018年08月27日 15:31:341388浏览

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);

运行实例 »

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


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