Blogger Information
Blog 34
fans 1
comment 0
visits 36064
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
while()与do~while()循环和函数的参数与作用域的介绍以及数组中常用的键值操作与指针操作还有数组中模拟堆栈与队列的操作--2018年8月27日17时07分
coolperJie
Original
1051 people have browsed it

实例

<?php
//while() 入口判断型

$i=5; //初始条件
while($i<5){
	echo $i<6 ? $i.',' : $i;
	$i++; //更新的条件
};

echo '<hr style="margin-left:0;width:200px;border-color:blue;height:2px;background-color:blue;">';
//do ~ while() 出口判断型,至少会执行一次
$i=5;		//初始化条件
do {
	echo $i<6 ? $i .',' : $i;
	$i++; //更新的条件
}while($i<5);	

?>

运行实例 »

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

说明:while()循环是入口判断型循环:如果条件不满足,一次也不执行

do~while()循环是出口判断型循环:无论条件满足与否,至少会执行一次

2、函数的参数与作用域,参数的传递对一个函数来说是至关重要的,以下主要介绍了,默认参数的传值以及形参与默认实参的位置还有参数的作用域的介绍:

实例

<?php

// 函数的声明
function hello(){
	return '你好';
}
//调用,按函数名称调用,函数名后面加上一对圆括号
echo hello();
echo '<hr style="margin-left:0;width:200px;border-color:blue;">';

//函数的参数
function hello1($name){
	return $name.','.'你好啊!';
}
//调用,按函数名称调用,圆括号添加参数
echo hello1('张三');

echo '<hr style="margin-left:0;width:200px;border-color:pink;">';

//当有参数可选时,必须把必选参数往前边放
function hello2($age , $name= "张三"){
	return $name . '今年'.$age.'岁!';
}
echo hello2(19);

echo '<hr style="margin-left:0;width:200px;border-color:black;">';

//函数参数就是一个占位符,是默认的参数,可以在调用时,用新的值 覆盖掉默认值

function hello3($age , $name= "张三"){
	return $name . '今年'.$age.'岁!';
}

echo hello3(18,"王五");

echo '<hr style="margin-left:0;width:200px;border-color:green;">';

//外部声明的函数,如果在函数内使用,必须用global声明或使用全局数组

$name = "赵四";
function hello4(){
	//global $name;
	return '名字叫:'. $GLOBALS['name'];
}
echo hello4();
?>

运行实例 »

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

截图:

demo2.png

说明:函数的调用,按函数名称调用,圆括号添加参数;当有参数可选时,必须把必选参数往前边放;函数参数就是一个占位符,是默认的参数,可以在调用时,用新的值 覆盖掉默认值;外部声明的函数,如果在函数内使用,必须用global声明或使用全局数组。

3、以下主要介绍了数组中常用的一些键值操作,通过实例来更加直观的介绍:

实例

<?php

//常用的键值操作

$option = array(
	'host'		=>		'localhost',
	'user'		=>		'root',
	'pass'		=>		 1234,
	'dbname'	=>		'php_3',
	'port'		=>		 3306,
	'charset'	=>		'utf8'
);
echo '<pre>',print_r($option,true);
// in_array()判断某个值是否存在
echo in_array('root', $option)?'存在<br>':'不存在<br>';
// array_key_exists()判断某个键值是否存在
echo array_key_exists('dbname',$option) ? '存在<br>' : '不存在<br>';

// array_values():以索引的方式返回数组的值组成的数组
print_r(array_values($option));
echo '<br>';

//array_keys():以索引的方式返回数组的键组成的数组
print_r(array_keys($option));
echo '<br>';

//array_search(): 以字符串的方式返回指定值的键
echo $option[array_search('root', $option)];//输出的结果仍为$option['user'] => root
echo '<br>';

//array_flip(): 键值对调
print_r(array_flip($option));
echo '<br>';


//数组的内部操作
echo count($option),'<br>';

//key(): 返回当前元素的键
echo key($option),'<br>';
//current(): 返回当前元素的值
echo current($option),'<br>';
//next():指针下移
next($option);
echo key($option),'<br>',current($option),'<br>';
next($option);
echo key($option),'<br>',current($option),'<br>';

//reset():指针复位
reset($option);
echo key($option),'<br>',current($option),'<br>';

//end():指针指向数组的尾部
end($option);
echo key($option),'<br>',current($option),'<br>';
reset($option);

// each()返回当前元素的键值的索引与关联的描述,并自动下移
print_r(each($option));
echo '<br>';
reset($option);

//list() :将索引数组中的值,赋值给一组变量
list($k,$v) = each($option);
echo $k,'------->',$v,'<br>';

reset($option);
// while,list(),each() 遍历数组
while(list($k,$v) = each($option)){
	echo $k, ' => ', $v,'<br>';
}
?>

运行实例 »

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

截图:

demo3.png

说明:数组中的键值操作主要是对数组的每个键和对应的值的操作,判断键值是否存在,转换数组索引方式,遍历数组的操作等等,这些都是非常重要的,熟练地掌握。

4、以下主要介绍了在数组中,通过模拟堆栈和队列的方式来进行指针操作,从而实现对数组的增删改查的一些操作:

实例

<?php

//使用数组来模拟堆栈和队列操作
$option = array(
	'host'		=>		'localhost',
	'user'		=>		'root',
	'charset'	=>		'utf8'
);
echo '<pre>';
print_r($option);


echo '当前长度: '. count($option), '<br>';
//堆栈:先进后出,后进先出
//队列:先进先出,后进后出
//入栈:array_push()
array_push($option, 'newadd');
echo '入栈后当前长度: '. count($option), '<br>';
print_r($option);
//出栈:array_pop()
array_pop($option);
print_r($option);

//入列:array_unshift()
array_unshift($option, 'second','third');
print_r($option);
//出队:array_shift()
array_shift($option);
array_shift($option);
print_r($option);


//模拟队列操作: 增删只能在二端进行,不允许同一端进行
array_push($option, 'end'); //尾部进队
print_r($option);

array_shift($option); //头部出队
print_r($option);

array_unshift($option, 'localhost'); //头部入队
print_r($option);

array_pop($option); //尾部出队
print_r($option);


?>

运行实例 »

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

截图:

demo4.png

说明:

堆栈:先进后出,后进先出
队列:先进先出,后进后出

总结:此次主要学习了以下内容:

(1)while()循环是入口判断型循环:如果条件不满足,一次也不执行;do~while()循环是出口判断型循环:无论条件满足与否,至少会执行一次。

(2)1.函数的调用,按函数名称调用,圆括号添加参数;

        2.当有参数可选时,必须把必选参数往前边放;

        3.函数参数就是一个占位符,是默认的参数,可以在调用时,用新的值 覆盖掉默认值;

        4.外部声明的函数,如果在函数内使用,必须用global声明或使用全局数组。

(3)常见的键值操作主要介绍了简单的数组中的键值操作,

比如:in_array()判断某个值是否存在;

        in_array()判断某个值是否存在;

        array_values():以索引的方式返回数组的值组成的数组

        array_keys():以索引的方式返回数组的键组成的数组

       array_search(): 以字符串的方式返回指定值的键

       array_flip(): 键值对调,等等

(4)堆栈和队列是自己主观的方向,堆栈:先进后出,后进先出;队列:先进先出,后进后出;队列操作: 增删只能在二端进行,不允许同一端进行

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments