PHP课程笔记6

课时127 使用PHP程序进一步理解快速排序法

<?php

//快速排序
$arr = array(32,31,56,4,234,46,466,86,5);

function kuaisu($arr){
if(!is_array($arr) || empty($arr)){
return array();
}
//获取数组的长度
$len = count($arr);

//如果数组中只有一个元素,直接返回数组
if($len <= 1){
return $arr;
}
$key[0] = $arr[0];
$left = array();
$right = array();

for($i=1; $i<$len; $i++){
if($arr[$i]<=$key[0]){
$left[]= $arr[$i];
}
else {
$right[] = $arr[$i];
}
}

/* print_r($left);
echo "<br>";
echo $key[0];
echo "<br>";
print_r($right);
echo "----------------<hr>";
*/

$left = kuaisu($left);
//echo "<hr>";
$right = kuaisu($right);
/*
print_r($left);
echo "<br>";
echo $key[0];
echo "<br>";
print_r($right);
echo "<hr>";
*/
return array_merge($left,$key,$right);
}
print_r($arr);
echo "<br>";
echo "<hr>";

print_r(kuaisu($arr));
?>


 

课时128 PHP数组的排序函数1

sort--对数组进行排序(升序)

rsort--对数组逆向排序

ksort--按照键名排序

krsort--按照键名逆向排序

asort--对数组进行排序,并保持索引关系

arsort--对数组进行逆向排序,并保持索引关系

natsort--用自然排序算法对数组排序

usort--使用用户自定义的比较函数对数组的值进行排序


课时129 PHP数组的排序函数2


 

课时130 PHP数组的排序函数3

课时131 PHP多维数组的排序函数
array_multisort

        对多维数组排序或多个数组进行排序


课时132 PHP拆分、合并、分解与结合数组函数1

1.array_slice

从数组中取出一段

$arr = array("a","b","c","d","e");

$narr = array_slice($arr,2,2);
print_r($narr);

结果:Array ( [0] => c [1] => d )

第二个参数可支持负数,
?2.array_splice

把数组的一部分去掉并用其他值代替

$arr = array("a","b","c","d","e");

//$narr = array_slice($arr,2,2);

array_splice($arr,2,2,"lee");
print_r($arr);

结果:?Array ( [0] => a [1] => b [2] => lee [3] => e )?

 

3.array_combine()

一个数组作为下标,一个数组作为值.两个数组个数必须一致.

$a = array("aa");
$b = array("bb");

$arr = array_combine($a,$b);

print_r($arr);

结果:?Array ( [aa] => bb ) ?


 

课时133 PHP拆分、合并、分解与结合数组函数2

1.array_merge()

合并数组

2.array_intersect()

计算数组的交集

3.array_diff()

计算数组的差集


课时134 PHP数组与数据结构的函数

1. $arr = array();

array_push($arr,"1");
array_push($arr,"2");

echo array_pop($arr);

print_r($arr);

结果: 2  Array ( [0] => 1 )

array_push 入栈

array_pop  出栈

后进先出

2.array_unshift()   入列

array_shift()   出列

先进先出

 

 

$arr = array();?

array_unshift($arr,1);
array_unshift($arr,2);
array_unshift($arr,3);

print_r($arr);
结果:?Array ( [0] => 3 [1] => 2 [2] => 1 ) ?


 

课时135 PHP其他有用的数组处理函数

1.array_rand()

从数组中随机出去一个或多个单元

随机的是下标.

2.shuffle()

返回的类型是布尔型

打乱一个数组

3.array_num()

计算数组所有值的和

4.range()

建立一个包含指定范围单元的数组

$arr = range(0,10,2);

前两个参数是范围, 第三个参数是步长

5.array_fill()

用给定的数值填充数组

$arr = array_fill(0,10,"php");


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。