博客列表 >8.23while,do~while;函数的参数与作用域;数组的操作;模拟栈与队列

8.23while,do~while;函数的参数与作用域;数组的操作;模拟栈与队列

归宿的博客
归宿的博客原创
2018年08月28日 10:19:06696浏览

1.while,do~while;

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


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



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

}while($i<10);

2.函数的参数与作用域

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


function hello1($siteName)
{
    return '欢迎来到'.$siteName.'学习';
}
echo hello1('php中文网');   //直接传参


function hello2($siteName='php中文网',$log)  //默认值
{
    return '欢迎来到'.$siteName.'学习'.$log;
}
echo hello2('php.cn','日志').'<hr>';  //必须先给第一个参数传参,再传给第二个参数



function hello3($a,$b,$c)
{
//    return func_get_arg(0);  //1
    return print_r(func_get_args(),true);   //返回的是数组,
//    return ($a.$b.$c);
}
echo  hello3('1','2','3');

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

$user = ['id'=> 5,'name' => 'zhu','gender' => 'male','age' => 20];
echo '<pre>',print_r($user,true);
//in_array()判断数组中是否存在某个值
echo in_array('zhu',$user) ? '存在<br>' : '不存在<br>';

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

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

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

//array_search():以字符串的方式返回指定值的键
print_r(array_search('zhu',$user));  //'zhu'对应的键

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


//数组的内部操作
echo count($user).'<br>';  //统计数组有多少个元素
//key()返回当前元素的键
echo key($user).'<br>';
//current():返回当前元素值
echo current($user).'<br>';
//next():指针下移
next($user).'<br>';
echo key($user).'<br>';    //返回当前元素的键
echo current($user).'<br>';  //返回当前元素的值

//复位
reset($user);
echo key($user).'<br>';    //返回当前元素的键
echo current($user).'<br>';  //返回当前元素的值

//尾部end()
end($user);
print_r($user).'<br>';

reset($user);
//each():返回当前元素的键值的索引与关联的描述(php7已经淘汰了each变量)
print_r(each($user)).'<br>';
//print_r(each($user)).'<br>';
//list():将索引数组中的值赋值给一组变量
list($key,$value)=each($user);
echo  $key.'*****'.$value.'<br>';

//while(),list(),each(),遍历数组
reset($user);
while(list($key,$value)=each($user)){
    echo $key.'=>'.$value.'<br>';
}

4.数组的操作;模拟栈与队列

$user = ['id'=> 5,'name' => 'zhu','gender' => 'male','age' => 20];
echo '<pre>',print_r($user,true);
echo '当前长度'.count($user).'<br>';
//入栈array_push():返回新数组的长度=count();
array_push($user,'php中文网');
echo '当前长度'.count($user).'<br>';
print_r($user).'<br>';

//出栈array_pop():
print_r(array_pop($user).'<br>');
print_r(array_pop($user).'<br>');
print_r(array_pop($user).'<br>');

print_r($user).'<br>';
//队列操作,shift(),unshift():
echo array_unshift($user,'www.php.cn');
print_r($user).'<br>';


//头部删除 shift()
echo array_shift($user);
print_r($user).'<br>';
//模拟队列操作:增删只能在两端进行,不允许同一端进行
array_push($user,'php');  //尾部增加,只能头部删除
print_r($user).'<br>';
array_shift($user);  //头部删除/出队
print_r($user).'<br>';


//头部出队
array_unshift($user,'html');
print_r($user).'<br>';

//尾部出队
array_pop($user);
print_r($user).'<br>';


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