PHP 數(shù)組學(xué)習(xí)排序全接觸
更新時(shí)間:2009年08月07日 00:52:34 作者:
PHP4函數(shù)手冊(cè) array里的算是看完咯, 明天在看看最新的手冊(cè)。。。。
each($arr) array
重?cái)?shù)組$arr中返回一對(duì) key/value也就是 下標(biāo)/值
復(fù)制代碼 代碼如下:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => c);
$res = each($arr);
print_r($res); //結(jié)果為 array('0' => 'a', 'key' => 'a', 1 => 1, 'value' => 1)
//返回結(jié)果 0 和 key 都代表 下標(biāo) 1 和 value 代表值
//沒使用一次each數(shù)組內(nèi)部指針就會(huì)向下移動(dòng)一次, 如果已經(jīng)是數(shù)組末端, 將返回false
$res = each($arr);
print_r($res); //結(jié)果就會(huì)變成 array('0' => 'b', 'key' => 'b', 1 => 2, 'value' => 2)
?>
$arr = array('a' => 1, 'b' => 2, 'c' => c);
$res = each($arr);
print_r($res); //結(jié)果為 array('0' => 'a', 'key' => 'a', 1 => 1, 'value' => 1)
//返回結(jié)果 0 和 key 都代表 下標(biāo) 1 和 value 代表值
//沒使用一次each數(shù)組內(nèi)部指針就會(huì)向下移動(dòng)一次, 如果已經(jīng)是數(shù)組末端, 將返回false
$res = each($arr);
print_r($res); //結(jié)果就會(huì)變成 array('0' => 'b', 'key' => 'b', 1 => 2, 'value' => 2)
?>
list($val, .. , [$val]) void 無返回值
把數(shù)組中的值賦給一些變量$val
復(fù)制代碼 代碼如下:
<?php
$arr = array('顏色', '字母A', '字母B');
list($color, $a, $b) = $arr; //注意這里list的參數(shù)$val 位置是和數(shù)組中的位置對(duì)應(yīng), 重左到右
echo $color; //結(jié)果 '顏色'
echo $a; //結(jié)果 '字母A'
list($color, , $b) = $arr; //這樣空一個(gè)
echo $color; //結(jié)果 '顏色'
echo $a; //結(jié)果 一樣都沒有, 因?yàn)榫蜎]給a賦值哦, 哪里也空出來咯
echo $b; //結(jié)果 '字母B'
//list each 一起用
$arr = array('顏色', '字母A', '字母B');
while(list($key, $val) = each($arr)) {
echo '下標(biāo):' . $key;
echo '----值:' . $val;
echo '<br>';
}
//輸出結(jié)果為
//下標(biāo):0----值:顏色
//下標(biāo):1----值:字母A
//下標(biāo):2----值:字母B
?>
krsort($arr, [$type]) bool
對(duì)數(shù)組$arr按照其下標(biāo)進(jìn)行倒序排列
還有一個(gè)ksort(); 這個(gè)是按下標(biāo)進(jìn)行升序排列
$type 是排序方式
復(fù)制代碼 代碼如下:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3);
krsort($arr);
print_r($arr); //打印結(jié)果: array('c' => 3, 'b' => 2, 'a' => 1);
?>
$arr = array('a' => 1, 'b' => 2, 'c' => 3);
krsort($arr);
print_r($arr); //打印結(jié)果: array('c' => 3, 'b' => 2, 'a' => 1);
?>
range($go, $end, [$setup) array
這個(gè)有點(diǎn)不好解釋
復(fù)制代碼 代碼如下:
<?php
$arr = range(1, 10);
print_r($arr); //結(jié)果array(1, 2, 3, 4, .., 10);
$arr = range(1, 10, 2); //這里指定第三個(gè)參數(shù), 也就是步長(zhǎng)
print_r($arr); //結(jié)果array(1, 3, 5, 7, 9);
$arr = range('a', 'z');
print_r($arr); //結(jié)果 array('a', 'b', 'c', ..., 'z');
?>
sort($arr);
將數(shù)組重a-z進(jìn)行排序
復(fù)制代碼 代碼如下:
<?php
$arr = array("lemon","orange","banana","apple");
sort($arr);
print_r($arr); //結(jié)果array('apple', 'banana', 'lemon', 'orange');
//還有個(gè)z-a進(jìn)行排序的函數(shù)rsort
?>
$arr = array("lemon","orange","banana","apple");
sort($arr);
print_r($arr); //結(jié)果array('apple', 'banana', 'lemon', 'orange');
//還有個(gè)z-a進(jìn)行排序的函數(shù)rsort
?>
shuffle($arr) bool
將數(shù)組$arr進(jìn)行亂排序, 也就是隨機(jī)排序
復(fù)制代碼 代碼如下:
<?php
$arr = range(1, 10);
shuffle($arr);
print_r($arr); //結(jié)果是什么我也不知道, 因?yàn)槭请S機(jī)的
?>
usort($arr, $func) bool
使用你自己定義的函數(shù)對(duì)$arr進(jìn)行排序$func是自定義函數(shù)
復(fù)制代碼 代碼如下:
<?php
$arr = array(1, 5, 8 ,2 ,0 ,3);
usort($arr, 'test');
function test($a, $b) {
return $a == $b ? 0 : $a < $b ? 1 : -1;
}
print_r($arr); //打印結(jié)果 Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 2 [4] => 1 [5] => 0 )
// 這函數(shù)沒弄懂哦。。 不知道參數(shù)$a , $b 代表的是什么? 看手冊(cè)也沒看懂, 如果這么簡(jiǎn)單的排序用ksort就行咯rsort
// 這樣的函數(shù)還有兩個(gè) uksort,和uasort都沒弄懂, 郁悶。。。
?>
總結(jié)一下
復(fù)制代碼 代碼如下:
<?php
array_values() //返回?cái)?shù)組中所有元素
array_walk() //使用自定義函數(shù)遍歷數(shù)組都一個(gè)單元
arsort(); //保留數(shù)組下標(biāo)于值的關(guān)系進(jìn)行倒序排列
asort() //保留數(shù)組下標(biāo)于值的關(guān)系進(jìn)行正序排列
compact() //將變量導(dǎo)入到數(shù)組中, 以變量名為下標(biāo), 值為值
extract() //將數(shù)組導(dǎo)入到變量, 下標(biāo)為變量名, 值為值
count() //統(tǒng)計(jì)數(shù)組有多少個(gè)元素
current() //當(dāng)前指針?biāo)冈?
next() //指針向下移動(dòng)
prev() //指針向上移動(dòng)
end() //指針移動(dòng)到數(shù)組末尾
reset() //指針移動(dòng)到數(shù)組開頭
key() //返回當(dāng)前指針?biāo)冈氐南聵?biāo)
each() //返回一對(duì) key/value
list() //將數(shù)組導(dǎo)入到變量中
krsort() //按照下標(biāo)進(jìn)行倒序排列
ksort() //按照下標(biāo)進(jìn)行升序排列
range() //創(chuàng)建數(shù)組
sort() //按值重小到大排列
rsort() //按值重大到些排列
shuffle() //隨機(jī)排列
usort() //......無語這個(gè)函數(shù), Google去咯
?>
相關(guān)文章
php保存二進(jìn)制原始數(shù)據(jù)為圖片的程序代碼
得到post過來的二進(jìn)制原始數(shù)據(jù),選擇一個(gè)生成路徑及圖片的名字,之后寫入,思路很顯而易見,需要的朋友可以收藏下2014-10-10php include,include_once,require,require_once
其實(shí)PHP包含文件的這四個(gè)函數(shù),很多人還是沒完全明白的,雖然用的時(shí)候多,但是具體某些地方該怎么用,用那一個(gè),我就獻(xiàn)丑一把.2008-09-09PHP生成隨機(jī)用戶名和密碼的實(shí)現(xiàn)代碼
使用PHP生成隨機(jī)數(shù)可以應(yīng)用在許多地方,比如可以設(shè)計(jì)程序的隨機(jī)密碼、模擬擲骰子游戲的應(yīng)用程序、石頭剪子布游戲應(yīng)用程序等等2013-02-02php定期拉取數(shù)據(jù)對(duì)比方法實(shí)例
這篇文章主要給大家介紹了關(guān)于php定期拉取數(shù)據(jù)對(duì)比的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用php具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09