无码人妻视频一区二区三区,亚洲国产精品色一区二区三区色牛,亚洲国产中文精品碰碰,九九视频这里只有精品

1928瀏覽量

PHP數(shù)組學(xué)習(xí)排序全接觸

來(lái)源: 時(shí)間:2013-11-01

PHP4函數(shù)手冊(cè) array里的算是看完咯, 明天在看看最新的手冊(cè)。。。。

array_values($arr) array
返回?cái)?shù)組所有元素
復(fù)制代碼 - PHP100.com $arr = array("a", "b", "c");
$arr = array_flip($arr); //反轉(zhuǎn)數(shù)組的下標(biāo)和值現(xiàn)在的$arr = array(0, 1, 2);
$arr = array_values($arr); //返回?cái)?shù)組$arr中的所有元素
print_r($arr); //結(jié)果: array(0, 1, 2);
?>


array_walk($arr, $func, [$data]) bool
使用用戶自定義的函數(shù)遍歷所有的元素,返回true/false
注意:此函數(shù)只處理數(shù)組的第一維
$func是一個(gè)函數(shù)名
默認(rèn)會(huì)傳入兩個(gè)參數(shù) 第一個(gè) $arr的值, 第二個(gè)$arr的下標(biāo), 一對(duì)一對(duì)的傳哦
復(fù)制代碼 - PHP100.com $arr = array('a', 'b', 'c');
array_walk($arr, 'test'); //這里第二個(gè)參數(shù)test就是函數(shù)名
function test(&$val, $key) //這里第一個(gè)參數(shù)加上引用, 那么修改$val就等于修改$arr中的元素
{
$val = 'x_' . $val; //這里給他加一個(gè)前綴
}
print_r($arr); //輸出結(jié)果 array('x_a', 'x_b', 'x_c');
//這里如果把$arr改成 $arr = array('a', 'b', 'c', array(1, 2, 3)); 打印結(jié)果將是 array('x_a', 'x_b', 'x_c', 'x_Array');
?>


現(xiàn)在傳入第三那個(gè)參數(shù)$data, 如果有傳入第三個(gè)參數(shù),那么第三個(gè)參數(shù)將傳給第二個(gè)參數(shù)定義的函數(shù)當(dāng)中的第三個(gè)參數(shù)
復(fù)制代碼 - PHP100.com array_walk($arr, 'test', 'x_');
function test(&$val, $key, $prefix)
{
$val = $prefix . $val; //其實(shí)這里的$prefix就是上面的x_
}
print_r($arr); //輸出結(jié)果和上面一樣 array('x_a', 'x_b', 'x_c');
?>


arsort($arr) bool
對(duì)數(shù)組$arr進(jìn)行倒序排列并保留下標(biāo)和值的關(guān)系,如果排序成功返回true 否則返回 false
此函數(shù)只處理數(shù)組的第一維
復(fù)制代碼 - PHP100.com $arr = array('a' => 'a', 'b' => 'b', 'c' => 'c');
arsort($arr);
print_r($arr); //打印結(jié)果: array('c' => 'c', 'b' => 'b', 'a' => 'a'); 如果有數(shù)字那么數(shù)字會(huì)在字符前面
?>


asort($arr) bool
對(duì)數(shù)組$arr進(jìn)行正序排列也就是a-z這樣排列, 返回值和上面一樣
此函數(shù)也保留下標(biāo)和值的關(guān)系
復(fù)制代碼 - PHP100.com $arr = array('a' => 'a', 'b' => 'b', 'c' => 'c');
asort($arr);
print_r($arr); //結(jié)果沒(méi)變, 就是原那數(shù)組
$arr = array('c' => 'c', 'b' => 'b', 'a' => 'a');
asort($arr);
print_r($arr); //結(jié)果:array('a' => 'a', 'b' => 'b', 'c' => 'c');
?>


compact($varname, ...., $varname) array
接受n個(gè)$varname并將$varname當(dāng)做下標(biāo)$varname的值當(dāng)做值創(chuàng)建一個(gè)數(shù)組$varname可以為數(shù)組
解釋不清楚, 看例子
復(fù)制代碼 - PHP100.com $a = "變量a";
$b = "變量b";
$arr = compact('a', 'b'); //這里傳入 a b 分別為上面定義的變量名稱
print_r($arr); //打印結(jié)果為 array('a' => '變量a', 'b' => '變量b');
//還可以把變量名稱當(dāng)做數(shù)組傳入
$vars = array('a', 'b');
$arr = compact($vars);
print_r($arr); //結(jié)果和上面一樣, 其實(shí)這個(gè)函數(shù)就是做extract的相反操作
?>


extract($arr, $type, $prefix) int
將數(shù)組$arr的下標(biāo)當(dāng)做變量名, 值當(dāng)做變量的值
$arr 目標(biāo)數(shù)組
$type 這個(gè)是遇過(guò)遇到相同下標(biāo)使用什么方式處理, 值是PHP已經(jīng)定義了的常量
EXTR_OVERWRITE 如果相同, 那么就覆蓋前面的那個(gè)變量, 默認(rèn)就是這個(gè)
EXTR_SKIP 如果相同, 不覆蓋前面那個(gè)變量
EXTR_PREFIX_SAME 如果相同, 那么使用第三個(gè)參數(shù)$prefix加到變量名前
EXTR_PREFIX_ALL 把所有變量名稱都加上$prefix當(dāng)做前綴
注意在$type為EXTR_PREFIX_SAME或EXTR_PREFIX_ALL時(shí)才需要傳入?yún)?shù)$prefix, 不然傳了也沒(méi)用。。。
例子
復(fù)制代碼 - PHP100.com $arr = array('a' => '變量a', 'b' => '變量b');
extract($arr, EXTR_OVERWRITE); //如果有相同,那么覆蓋
echo $a; //輸出結(jié)果將是 '變量a'
echo $b; //結(jié)果: '變量b'
$arr = array('a' => '變量a', 'b' => '變量b', 'a' => '第二個(gè)變量a'); //這里有兩個(gè)元素下標(biāo)都為a
extract($arr);
echo $a; //輸出結(jié)果是: '第二個(gè)變量a' 很明顯已經(jīng)覆蓋了 '變量a' 因?yàn)槟J(rèn)第二個(gè)參數(shù)是 EXTR_OVERWRITE
?>


count($arr) int
統(tǒng)計(jì)數(shù)組中的元素的數(shù)目
復(fù)制代碼 - PHP100.com $arr = array('a', 'b');
echo count($arr); //很明顯結(jié)果為2
?>


current($arr) mixed
返回?cái)?shù)組中當(dāng)前指針?biāo)傅脑?此函數(shù)別名 pos
復(fù)制代碼 - PHP100.com $arr = array('a', 'b', 'c');
echo current($arr); //結(jié)果為 'a'
echo next($arr); //指針向下一個(gè)移動(dòng),所以現(xiàn)在指針?biāo)傅氖莃 輸出結(jié)果當(dāng)然為 'b'
echo current($arr); //結(jié)果又是b 因?yàn)楫?dāng)前指針就在b這哦
echo end($arr) //指針移動(dòng)到數(shù)組最后, 并返回結(jié)果, 所以結(jié)果為c
echo prev($arr); //指針向上一個(gè)移動(dòng), 結(jié)果b
echo key($arr); //返回指針?biāo)冈氐南聵?biāo) 因?yàn)樯厦嬷羔樀搅薭那么所有 結(jié)果為1 因?yàn)閎的下標(biāo)就是1

聯(lián)系我們

一次需求提交或許正是成就一個(gè)出色產(chǎn)品的開(kāi)始。
歡迎填寫(xiě)表格或發(fā)送合作郵件至: qczsky@126.com

大理青橙科技

電話:13988578755 13988578755

郵箱:qczsky@126.com

地址:大理市下關(guān)龍都春天10層

如果您無(wú)法識(shí)別驗(yàn)證碼,請(qǐng)點(diǎn)圖片更換

寻甸| 石泉县| 大同县| 镇安县| 蒲江县| 福泉市| 台湾省| 共和县| 万州区| 许昌市| 渑池县| 灵丘县| 彝良县| 博爱县| 唐山市| 原阳县| 弥渡县| 光泽县| 罗山县| 惠水县| 锡林浩特市| 田东县| 海丰县| 潮州市| 浏阳市| 东丰县| 乌苏市| 宁陕县| 保亭| 麟游县| 东乡县| 朝阳市| 津市市| 马公市| 连平县| 庆阳市| 邓州市| 佛山市| 枣强县| 高邮市| 肥城市|