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