博客列表 >【8/23】--PHP基础之循环与函数的参数以及作用域,数组常用的键值操作以及数组函数模拟的堆栈和队列操作

【8/23】--PHP基础之循环与函数的参数以及作用域,数组常用的键值操作以及数组函数模拟的堆栈和队列操作

花弄的博客
花弄的博客原创
2018年08月27日 11:32:54994浏览

实例

<?php

//函数声明
function _hello()
{
	return 'HelloWorld';
}

//调用函数,根据名称调用,后面跟上括号
echo _hello(),'<hr>';


//声明带参函数
function _hello1($name){
	return '欢迎你:'.$name.'!加班找bug的日子不远了~~~';
}

//调用函数,穿进去一个参数
echo _hello1('小wangzi'),'<hr>';


//当有可选参数的时候,必须把必选参数往前放
function _poetry($poetry,$word_card='')
{
	return $word_card . $poetry;
}
$poetry='<pre>一栏清秋无吟处,遍山鹈鹕,催的舴艋空渡.
残红萧萧春已尽,又是无涯,何处放苍凉</pre>';
echo _poetry($poetry),'<hr>';

// 参数实际上是一个占位符,仅供参考,也可以没有


// php中只有函数作用域,函数外部声明的变量在函数内部不能直接使用,可以通过全局变量$GLOBALS[]来获取

$name = '狐妖小红娘';
function _stu()
{
	return '欢迎你:['.$GLOBALS['name'].']同学';
}
echo _stu(),'<hr>';

运行实例 »

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

函数的话其实不难,理解了就好了,php不就是函数多么,往死里记呗:

function.png


实例

<?php

//while循环,循环直到符合条件
$i = 0;
echo 'while(){}循环';
while($i<10)
{
	echo $i."\t";
	$i++;
}

echo '<hr>';
// do while循环 ,先循环,在判断
$x = 0;
echo 'do{}while();循环';
do{
	echo $x."\t";
	$x++;
}while ( $x < 10);

echo '<hr>';

echo 'for()循环';
for ($i=0; $i < 10 ; $i++) { 
	# code...
	echo $i . "\t";
}

运行实例 »

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

循环估计是编程中用的最多的技术了,理解了用法就ok了:

xunhuan.png


实例

<?php

//常用键值操作
// 数组内部的指针巡航
$user = ['id' => 5,'name' => '小wangzi','gender' => 'male','age' =>20];

echo '<pre>',print_r($user,true);
echo '<hr><br>';

//判断数组中是否存在某个值
echo in_array('male', $user) ? '存在' : '不存在';

echo '<hr><br>';

//判断某个键名是否存在于数组中
echo array_key_exists('name', $user) ? '存在' : '不存在';

echo '<hr><br>';

//返回数组中所有的值并给其建立数组索引
print_r(array_values($user));

echo '<hr><br>';

// 返回数组的键
print_r(array_keys($user));

echo '<hr><br>';

//以字符串的形式返回指定的键
echo array_search('小wangzi', $user);

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

/*
*	数组内部的操作
*/
echo '<hr><br>';
//返回数组中的元素数量
echo count($user),'<br>';

//返回当前元素的键
$i=0;
while($i<count($user)){
	echo key($user),'<br>';
	$i++;
	//指针后移
	next($user);
}
//重置指针/下标
reset($user);
echo '<hr><br>';

//返回当前指针指向的值
echo(current($user));

echo '<hr><br>';

//返回当前指针指向的键值的索引	与关联对应的描述
print_r(each($user));

end($user);
//将索引数组中的值,赋值给一组变量
list($key, $value) = each($user);
echo 'key = ',$key,'----value = ',$value;

echo '<hr><br>';

reset($user);
//遍历数组
while (list($key, $value) = each($user)) {
	echo $key , '=>' , $value , '<br>';
}

运行实例 »

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

emm,键值操作,相当于人的身份号码与个体吧,严格的说一个号码对应一个人,就相当于数组的一个键对应一个值:

key.png


实例

<?php

/*
*	使用数组模拟堆栈和队列操作
*/

$user = ['id'=>2, 'name'=>'小wangzi','gender'=>'男'];
echo '<pre>',print_r($user,true);

echo '<hr><br>';

echo '当前数组长度:'.count($user);

echo '<hr><br>';

// 入栈:array_push()返回新数组的长度= count()
echo array_push($user, 'php'),'<br>';

echo '当前数组长度:'.count($user),'<br>';
print_r($user);

echo '<hr><br>';

// 出栈:array_pop()弹出数组的最后一个元素并将数组的长度减一,并且会reset数组的指针
echo array_pop($user),'<br>';
echo '当前数组长度:'.count($user),'<br>';
print_r($user);

echo '<hr><br>';

// 模拟队列操作,只允许在两端同时操作,不允许在一端操作
//尾部进队
array_push($user, 'php'); 
print_r($user);
echo '<hr><br>';
//头部出队,将数组的头部单元移出数组
array_shift($user);
print_r($user);

// 头部进队,在数组开头插入一个或多个单元
array_unshift($user, '2');
print_r($user);

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

echo '<hr><br>';

// $str = <<<DJF
// 		emmm23333333,<br>
// 		一夜风呜花飘雨,两指竹哀箫弄魂
// 		asdasdasd
// DJF;
// echo $str;

运行实例 »

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

堆栈操作,用数组模仿计算机底层数据的存取操作,更方便我们理解整个程序的运行:

堆栈.png

总体来说,内容的话不算太难,主要是多,这个就需要时间去练习与记忆了

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