博客列表 >do·while循环_函数参数和作用域_数组操作_2018年8月23日

do·while循环_函数参数和作用域_数组操作_2018年8月23日

宋超的博客
宋超的博客原创
2018年08月26日 22:10:231024浏览

1.do while实例

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

运行实例 »

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

2.函数参数与作用域实例

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

运行实例 »

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

3.数组操作实例

<?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++;
}

运行实例 »

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

4.用数组模拟出栈入栈实例

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

运行实例 »

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

总结:

  1. do while循环是先执行一次代码块再判断,while与for类似。

  2. 函数的参数是可选的,如果要加参数必选的参数排在前面。

  3. 在函数中引用全局变量可以函数中用GLOBAL声明或直接GLOBALS['*']来使用。

  4. 用数组来操作内部值,以及用数组模拟入队出队。

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