批改状态:合格
老师批语:
<?php
/**
* do 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>';
$i=1;
while($i<5){
$c=1;
while($c<5){
echo "{$i}*{$c}=".$c*$i.' ';
$c++;
}
$i++;
}
echo '<hr>';
$x=6;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);点击 "运行实例" 按钮查看在线实例
<?php
/*
函数的参数与作用域
*/
//声明
function d($b,$c){
if(empty($b) || empty($c)){
return '没有参数';
}
$a=$b+$c;
return $a;
}
//调用: 按名调用,名称后跟上一对圆括号
var_dump( d(5,5));
//当有可选参数的时候,必须把必选参数往前放
function learning($url,$sitename='php中文网'){
$open="<a href=".$url.">".$sitename."</a>";
return $open;
}
echo learning('http://www.php.cn').'<hr>';
//参数实际就是一个占位符,仅供参考,可以没有
function hi()
{
return print_r(func_get_args(),true);
return func_get_arg(1); //获取指定位置参数的值
return func_num_args(); //获取参数的数量
return (func_get_arg(0) + func_get_arg(1) + func_get_arg(2));
}
echo hi(4,5,6).'<hr>';
$hiName = 'hello';
// php中只有函数作用域,函数外部声明的变量在函数内部不能直接使用
function hi1()
{
global $hiName;
// return $hiName;
return $GLOBALS['hiName'];
}
echo hi1();点击 "运行实例" 按钮查看在线实例
<?php
/**
* 1.常用的键值操作
* 2.数组内部指针操作(巡航)
*/
$book = ['id'=>5, 'name'=>'php', 'price'=>66, 'role'=>'学习php'];
echo '<pre>',print_r($book,true);
//in_array()判断数组中是否存在某个值
echo '<hr>',in_array('php',$book) ? 'yes' : 'no';
//array_key_exists():判断某个键名是否存在于数组中?
echo '<hr>',array_key_exists('name',$book) ? '有' : '没有';
// array_values():以索引方式返回数组的值组成的数组
echo '<hr>',print_r(array_values($book),true);
// array_keys() //返回键名
echo '<hr>',print_r(array_keys($book),true);
// array_search():以字符串的方式返回指定值的键
echo '<hr>',print_r(array_search('66',$book),true);
//键值对调array_flip()
echo '<hr>',print_r(array_flip($book),true);
//array_filter()过滤数组中的元素
function text($var){
$var=$var+2;
return($var & 1);
}
echo '<hr>',print_r(array_filter($book,"text"),true);
$a=2;$b=3;
$c=$a&$b;
echo '<hr>',$c,'<hr>';
//数组的内部操作
echo count($book),'<hr>'; //统计数组
echo key($book),'<hr>';//key()返回当前元素的键
echo current($book),'<hr>';//current()返回当前元素的值
next($book);//next()指针下移
echo key($book),'<br>';
echo current($book),'<br>';
next($book);//next()指针下移
echo key($book),'<br>';
echo current($book),'<br>';
//复位
reset($book);
echo key($book),'<br>';
echo current($book),'<hr>';
//尾部
end($book);
echo key($book),'<br>';
echo current($book),'<br>';
reset($book);
// each()返回当前元素的键值的索引与关联的描述,并自动下移
print_r(each($book));
//print_r(each($book));
//print_r(each($book));
//list() //将索引数组中的值,赋值给一组变量
list($key, $value) = each($book);
echo $key, '******', $value,'<hr>';
$i=0;
// while,list(),each() 遍历数组
reset($book);
while (list($key, $value) = each($book) and $i<2) { //只取前2条
echo $key , ' => ', $value, "[$i]" ,'<br>';
$i++;
}点击 "运行实例" 按钮查看在线实例
<?php /** * 使用数组来模拟堆栈和队列操作 */ $car=['id'=>5 , 'color'=>'white' ,'brand'=>'BMW' ,'price'=>'10W' , 'inventory'=>9]; echo '<pre>',print_r($car,true); //echo '当前长度: '. count($car), '<br>';//count() 函数用于返回数组的长度(元素数) //入栈:array_push()返回新数组的长度= count() //$a=[1,2,3]; //echo array_push($car, $a); //echo array_push($car, '店庆活动车'); //echo '<hr>',var_export($car); //echo '<hr>当前长度: '. count($car), '<br>'; //print_r($car); echo '<hr>'; //array_pop()删除数组的最后一个元素(出栈)。 //echo array_pop($car),'<br>'; //echo array_pop($car),'<br>'; //echo array_pop($car),'<br>'; //print_r($car); //reset($car); //print_r($car); //队: shift(),unshift() //echo array_unshift($car, '顶配','3年质保'); //echo print_r($car,true).'<hr>'; // //echo array_shift($car),'<br>'; //echo array_shift($car),'<br>'; //echo array_shift($car),'<br>'; //print_r($car); //模拟队列操作: 增删只能在二端进行,不允许同一端进行 array_unshift($car,'降价2W');// 头部进队 echo print_r($car,true); array_pop($car); // 尾部出队 echo print_r($car,true),'<hr>'; array_push($car, '送大礼包'); //尾部进队 print_r($car); array_shift($car); // 头部出队 print_r($car);
点击 "运行实例" 按钮查看在线实例
总结:
do while循环是先执行一次代码块再判断,while与for类似。
函数的参数是可选的,如果要加参数必选的参数排在前面。
在函数中引用全局变量可以函数中用GLOBAL声明或直接GLOBALS['*']来使用。
用数组来操作内部值,以及用数组模拟入队出队。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号