PHP初级教程------------------(5)

文章详细介绍了PHP中数组的相关函数,如排序、指针操作和其他功能,并通过实例展示了冒泡排序、选择排序、插入排序、快速排序和归并排序的实现。此外,还探讨了编程思想,包括递推和递归算法,并给出了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

数组的相关函数

编程思想

递推算法

递归算法

数组排序算法

冒泡排序

        选择排序

        插入排序

        快速排序

        归并排序

查找算法

查找算法含义

顺序查找算法

二分查找算法


 

数组的相关函数

1)排序函数:对数组元素进行排序,都是按照ASCII码进行比较,可以进行英文比较

sort():顺序排序(下标重排)

rsort():逆序排序

asort():顺序排序(下标保留)

arsort():逆序排序

ksort():顺序排序:按照键名(下标)

krsort():逆序排序

 

shuffle():随机打乱数组元素,数组下标会重排

 

2)指针函数

reset():重置指针,将数组指针回到首位

end():重置指针,将数组指针指导最后一个元素

 

next():指针下移,取得下一个元素的值

prev():指针上移,取得上一个元素的值

current():获取当前指针对应的元素值

key():获取当前指针对应的下标值

注意事项:nextprev会移动指针,有可能导致指针移动到最前或者最后(离开数组),导致数组不能使用,通过nextprev不能回到真确的指针位置。只能通过end或者reset进行指针重置

3)其他函数

count():统计数组中元素的数量

array_push():往数组中加入一个元素(数组后面)

array_pop():从数组中取出一个元素(数组后面)

array_shift():从数组中取出一个元素(数组前面)

array_unshift():从数组中加入一个元素(数组前面)

PHP模拟数据结构:

栈:压栈,先进去后出来(FILO)

 

队列:排队,先进去的先出去(FIFO)

 

array_reverse():数组元素反过来

 

in_array():判断一个元素在数组中是否存在

 

array_keys():获取一个数组的所有下标,返回一个索引数组

array_values():获取一个数组的所有值,返回一个索引数组

  附上代码:

<?php

	//PHP数组相关函数


	//排序函数
	$arr = array(3,1,5,2,0);
	echo '<pre>';

	$sort_arr = sort($arr);
	//asort($arr);


	//krsort($arr);
	//print_r($arr);
	shuffle($arr);
	//print_r($arr);
	shuffle($arr);
	//print_r($arr);

	$arr = array(3,1,5,2,0);
	//指针函数
	//echo current($arr),'<br/>';
	//echo key($arr),'<br/>';


	//echo next($arr),next($arr),'<br/>';
	//echo prev($arr),'<br/>';

	//echo end($arr),'<br/>';
	//echo reset($arr),'<br/>';


	//其他函数

	//模拟数据结构:栈和队列
	$arr = array();

	//栈:先压栈后出栈:都是从一端出来
	//前面:array_shift/array_unshift
	//后面:array_push/array_pop
	//压栈
	array_push($arr,3);
	array_push($arr,2);
	array_push($arr,1);
	//print_r($arr);
	//出栈
	//echo array_pop($arr),array_pop($arr),array_pop($arr),'<br/>';


	//队列:先排队,先出来,一端进,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值