批改状态:合格
老师批语:
while() 和do while()的基本使用方法
while是入口型,先判断再操作的,而do while是出口型,先执行再判断,案列如下:
<?php
/**
* Created by PhpStorm.
* User: Jackson
* Date: 2018/8/31
* Time: 15:37
*/
//while():入口判断型
for ($i=0; $i<10; $i++){
echo $i<9 ? $i.',' : $i;
}
echo '<hr>';
$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.函数的参数和作用域
函数的参数只是形参,不一定要有,函数参数的作用域和变量的作用域一样,外部声明的 变量不能直接在函数内使用,需要关键字global和全局数组$GLOBALS才能在函数内使用,案列如下:
<?php
/**
* 函数的基本知识
*/
//声明
function hello()
{
return 'hello';
}
echo hello(),'<hr>';//按函数名调用,后面加一对括号
function add(){
return func_num_args();//获取函数参数的个数
}
echo add(4,6);
//外部声明的变量不能在函数内直接使用
$a = 'jack';
$b = 'apple';
function hello1( ){
global $a;//加global关键字可以使用外部变量
//return $a;
return $GLOBALS['b'];//$GLOBALS全局变量
}
echo hello1();点击 "运行实例" 按钮查看在线实例
3.函数的键值操作和指针操作
数组常用的函数有很多,主要就是对键值进行操作,需要多使用才有助于记忆,案列如下:
<?php
/**
* 1.键值操作
* 2.数组内部指针操作
*/
$user = ['id'=>'3','name'=>'jason','sex'=>'man','age'=>'33'];
echo '<pre>';
print_r($user);
echo in_array('jasoHH',$user)? '存在':'不存在<br>';
echo array_key_exists('name',$user)? '存在<br>':'不存在<br>';
//返回数组的值
print_r(array_values($user));
//返回数组的键
print_r(array_keys($user));
//array_search() 查找数组指定值的键
echo array_search('man',$user),'<br>';
//array_flip()键值对调
print_r(array_flip($user));
//数组内部的指针
echo count($user),'<br>';
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值
next($user);//指针下移
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值
reset($user);//指针复位
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值
end($user);//指针调到最后一个元素
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值
//each() 返回当前元素的索引和关联描述,并且指针下移
print_r(each($user));
//list() 将索引数组的值 赋值给一组变量
reset($user);
list($key,$value) = each($user);
echo $key.',,,'.$value.'<br>';
reset($user);
while(list($key,$value)=each($user)){
echo $key,'=>',$value,'<br>';
}点击 "运行实例" 按钮查看在线实例
4.数组的堆栈和队列
使用函数array_push()/array_pop(), array_unshift()/array_shift()进行数组的值插入和移除,案列如下:
<?php /** * 用数组模拟堆栈和队列操作 */ $user = ['id'=>5, 'name'=>'jack','gender'=>'male']; echo '<pre>',print_r($user,true),'<br>'; echo '当前长度'.count($user),"<br>"; //入栈:array_push(),在尾部加值,返回数组长度 echo array_push($user,'php'); echo '<pre>',print_r($user,true),'<br>'; //array_pop()删除尾部的值,返回删除的值 echo array_pop($user); echo array_pop($user); print_r($user); echo "<hr>"; //对列 shift() unshift() //array_shift()在数组头部加值,可加两个值,返回数组长度 echo array_unshift($user,'www.php.cn','jack'); print_r($user); echo array_shift($user);//返回删除的值 print_r($user); echo '<hr>'; $user = ['id'=>5, 'name'=>'jack','gender'=>'male']; array_push($user,'html');//尾部进队 print_r($user); array_shift($user);//头部出队 print_r($user); array_unshift($user,'css');//头部进队 print_r($user); array_pop($user);//尾部出队 print_r($user);
点击 "运行实例" 按钮查看在线实例
总结:数组的使用关键在于函数的熟练程度,所欲要多阅读手册进行理解和背诵函数的使用方式,这样才会有助于数组的使用。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号