PHP函数库分类六.docx
- 文档编号:23180067
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:10
- 大小:18.21KB
PHP函数库分类六.docx
《PHP函数库分类六.docx》由会员分享,可在线阅读,更多相关《PHP函数库分类六.docx(10页珍藏版)》请在冰豆网上搜索。
PHP函数库分类六
PHP函数库分类六
1.数组(六)
·range -建立一个包含指定范围单元的数组
(PHP4,PHP5)
range — 建立一个包含指定范围单元的数组
说明
array range ( mixed $low , mixed $high [, number $step ])
range() 返回数组中从 low 到 high 的单元,包括它们本身。
如果low>high,则序列将从high到low。
Note:
新参数
可选的 step 参数是PHP5.0.0新加的。
如果给出了 step 的值,它将被作为单元之间的步进值。
step 应该为正值。
如果未指定,step则默认为1。
Example#1 range() 例子
php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
echo $number;
}
// The step parameter was introduced in 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
echo $number;
}
// Use of character sequences introduced in 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letter) {
echo $letter;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letter) {
echo $letter;
}
Note:
在版本4.1.0之前 range() 函数只产生递增的整数数组。
对于字符序列和递减数组的支持是4.1.0加入的。
字符序列值的长度限定为一。
如果输入的长度超过一,则只使用第一个字符。
Caution
在PHP版本4.1.0到4.3.2中,range() 将数字字符串看作字符串而不是整数,因此将会被作为字符序列使用。
例如,"4242" 会被当作 "4" 来对待。
·reset -将数组的内部指针指向第一个单元
(PHP4,PHP5)
reset — 将数组的内部指针指向第一个单元
说明
mixed reset ( array &$array )
reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE。
Example#1 reset() 例子
php
$array = array('step one', 'step two', 'step three', 'step four');
// by default, the pointer is on the first element
echo current($array) . "
"; // "step one"
// skip two steps
next($array);
next($array);
echo current($array) . "
"; // "step three"
// reset pointer, start again on step one
reset($array);
echo current($array) . "
"; // "step one"
?
>
·rsort -对数组逆向排序
(PHP4,PHP5)
rsort — 对数组逆向排序
说明
bool rsort ( array &$array [, int $sort_flags ])
本函数对数组进行逆向排序(最高到最低)。
Note:
此函数为 array 中的元素赋与新的键名。
这将删除原有的键名,而不是仅仅将键名重新排序。
成功时返回 TRUE,或者在失败时返回 FALSE.
Example#1 rsort() 例子
php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val ";
}
?
>
以上例程会输出:
0=orange
1=lemon
2=banana
3=apple
fruits被按照字母顺序逆向排序
·shuffle -将数组打乱
(PHP4,PHP5)
shuffle — 将数组打乱
说明
bool shuffle ( array &$array )
本函数打乱(随机排列单元的顺序)一个数组。
Note:
此函数为 array 中的元素赋与新的键名。
这将删除原有的键名,而不是仅仅将键名重新排序。
Example#1 shuffle() 例子
php
$numbers = range(1,20);
srand((float)microtime()*1000000);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?
>
Note:
自PHP4.2.0起,不再需要用 srand() 或 mt_srand() 给随机数发生器播种,因为现在是由系统自动完成的。
·sizeof -count的别名
(PHP4,PHP5)
sizeof — count() 的别名
说明
此函数是该函数的别名:
count()。
·sort -对数组排序
(PHP4,PHP5)
sort — 对数组排序
说明
bool sort ( array &$array [, int $sort_flags ])
本函数对数组进行排序。
当本函数结束时数组单元将被从最低到最高重新安排。
Note:
此函数为 array 中的元素赋与新的键名。
这将删除原有的键名,而不是仅仅将键名重新排序。
成功时返回 TRUE,或者在失败时返回 FALSE.
Example#1 sort() 例子
php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[".$key."] = " . $val . "";
}
?
>
以上例程会输出:
fruits[0]=apple
fruits[1]=banana
fruits[2]=lemon
fruits[3]=orange
fruits被按照字母顺序排序。
可选的第二个参数 sort_flags 可以用以下值改变排序的行为:
排序类型标记:
∙SORT_REGULAR -正常比较单元(不改变类型)
∙SORT_NUMERIC -单元被作为数字来比较
∙SORT_STRING -单元被作为字符串来比较
∙SORT_LOCALE_STRING -根据当前的区域(locale)设置来把单元当作字符串比较。
PHP4.4.0和5.0.2新加。
在PHP6之前,使用了系统的区域设置,可以用 setlocale() 来改变。
自PHP6起,必须用 i18n_loc_set_default() 函数。
Note:
第二个参数是PHP4新加的。
Warning
在对含有混合类型值的数组排序时要小心,因为 sort() 可能会产生不可预知的结果。
·uasort -使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
(PHP4,PHP5)
uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
说明
bool uasort ( array &$array , callback $cmp_function )
本函数对数组排序并保持索引和单元之间的关联。
主要用于对那些单元顺序很重要的结合数组进行排序。
比较函数是用户自定义的。
成功时返回 TRUE,或者在失败时返回 FALSE.
·uksort -使用用户自定义的比较函数对数组中的键名进行排序
uksort — 使用用户自定义的比较函数对数组中的键名进行排序
说明
bool uksort ( array &$array , callback $cmp_function )
本函数将使用用户提供的比较函数对数组中的键名进行排序。
如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
cmp_function 函数应接受两个参数,该参数将被 array 中的一对键名填充。
比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。
成功时返回 TRUE,或者在失败时返回 FALSE.
Example#1 uksort() 例子
php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a > $b) ?
-1 :
1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key:
$value ";
}
?
>
以上例程会输出:
20:
twenty
10:
ten
4:
four
3:
three
·usort -使用用户自定义的比较函数对数组中的值进行排序
usort — 使用用户自定义的比较函数对数组中的值进行排序
说明
bool usort ( array &$array , callback $cmp_function )
本函数将用用户自定义的比较函数对一个数组中的值进行排序。
如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。
Note:
如果两个成员比较结果相同,则它们在排序后的数组中的顺序未经定义。
到PHP4.0.6之前,用户自定义函数将保留这些单元的原有顺序。
但是由于在4.1.0中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。
Note:
此函数为 array 中的元素赋与新的键名。
这将删除原有的键名,而不是仅仅将键名重新排序。
成功时返回 TRUE,或者在失败时返回 FALSE.
Example#1 usort() 例子
php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ?
-1 :
1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key:
$value ";
}
?
>
以上例程会输出:
0:
1
1:
2
2:
3
3:
5
4:
6
Note:
很明显在这个小例子中用 sort() 函数更合适。
Example#2使用多维数组的 usort() 例子
php
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}
$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";
usort($fruits, "cmp");
while (list($key, $value) = each($fruits)) {
echo "$fruits[$key]:
" . $value["fruit"] . "";
}
?
>
当排序多维数组时,$a 和 $b 包含到数组第一个索引的引用。
以上例程会输出:
$fruits[0]:
apples
$fruits[1]:
grapes
$fruits[2]:
lemons
Example#3使用对象的成员函数的 usort() 例子
php
class TestObj {
var $name;
function TestObj($name)
{
$this->name = $name;
}
/* This is the static comparing function:
*/
function cmp_obj($a, $b)
{
$al = strtolower($a->name);
$bl = strtolower($b->name);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ?
+1 :
-1;
}
}
$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");
usort($a, array("TestObj", "cmp_obj"));
foreach ($a as $item) {
echo $item->name . "";
}
?
>
以上例程会输出:
b
c
d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 函数库 分类