日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP5中数组函数总结

發布時間:2025/3/17 php 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP5中数组函数总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

我不知道PHP初學者是怎么學習函 數的,但是我認為學習他一定是有目的性,它是目的驅動的,以數組函數為例!這么多的數組函數我們該怎么學習?其實我們只需要清楚,我們需要對數組做哪些操 作,然后把這些操作歸類,心中就有了大概的印象,然后隨著你的實踐,這些函數你就很清楚了,在這里提醒大家的是手冊要常備!廢話不多說,數組函數一般歸為 以下幾類(看到英文別怕哦):
Outputting arrays
Creating arrays
Testing for an array
Locating array elements
Traversing arrays
Determining array size and element uniqueness
Sorting arrays
Merging, slicing, splicing, and dissecting arrays

Outputting arrays
print_r()
不熟悉這個的我就不想多說了!最基本的函數,當然要輸出數組也可是使用循環結構輸出,不過有這么方便的輸出函數干嗎不用呢!

Creating arrays
array()
這個函數我也不想說了,這其實只能算語言結構,大家在新建數組的時候都用到過,沒用過的我只能說,兄弟,我無語了!
list()
這個函數和上面提到的array()一樣,只是個語言結構,它通過一步操作給一組變量賦值!
具體示例請查看手冊!
range();
array range ( mixed low, mixed high[, number step] )
建立一個包含指定范圍單元的數組
示例:$arr =range(0, 6);
相當于$arr =array(0, 1, 2, 3, 4, 5, 6);
一般數據按從低到高排列,如果low> high,則從高到低排列;

Testing for an array
is_array();
測試變量是否array類型,是則返回true,不是則返回false,很基本,很實用的函數!

Adding and removing array elements
array_push()
int array_push ( array &target_array,mixed var [, mixed ...] )
將一個或多個單元從末尾添加至數組!返回新數組的單元總數!
示例:

復制PHP內容到剪貼板
PHP代碼:
$states =array(‘Ohio’, ‘New York’);
array_push($states, ‘California’,‘Texas’
);
//output: array((‘Ohio’,‘New York’ , ‘California’,‘Texas’);

array_pop();
彈出并返回數組的最后一個單元,并將數組長度減一。使用后會重置數組指針!
示例:

復制PHP內容到剪貼板
PHP代碼:
$states =array(‘Ohio’, ‘New York’);
$state = array_pop($states
);
//output: New York

array_shift();
與array_pop類似,只不過它移出和返回的是數組的第一個值。數字鍵名將重新從零開始記數,文字鍵名則保持不變!

array_unshift();
與array_push類似,只不過是從數組頭部插入數據!數字鍵名將重新從零開始記數,文字鍵名則保持不變!

array_pad();
array array_pad ( array input, intpad_size, mixed pad_value )
用值將數組填充到指定長度!
pad_size為正,則從右側開始填補,為負,從左側開始填補,小與數組長度,則保持數組不變!示例見手冊!

Locating array elements
in_array();
檢查數組中是否存在某個值,基礎,不說了,具體見手冊!

array_keys();
array array_keys ( array input [,mixed search_value [, bool strict]] )
返回數組中的所有鍵名。如果選定search_value,則返回選定的鍵名!自PHP 5]起,可以用strict參數來進行全等比較(===)。

array_key_exists();
bool array_key_exists ( mixed key,array search )
檢查給定的鍵名或索引是否存在于數組中,存在則返回true。一些更具體的應用記得查看手冊!

array_values();
array array_values ( array input )
與array_keys()類似!返回的是數組的所有鍵值!

array_search();
mixed array_search ( mixed needle,array haystack [, bool strict] )
在 haystack中搜索 needle參數并在找到的情況下返回鍵名,否則返回FALSE
如果needle是字符串,則比較區分大小寫!
如果strict是true,還得比較類型
如果needle在haystack中出現不止一次,則返回第一個匹配的鍵。要返回所有匹配值的鍵,應該用array_keys()加上可選參數search_value來代替!
Traversing arrays

key();

mixed key ( array &array )
返回數組中當前單元的鍵名!

reset();
重置數組的指針。

each();
返回數組中當前單元的鍵/值對,并將指針下移一位!

current();
返回當前被內部指針指向的數組單元的值,并不移動指針。如果超出了單元列表的末端,則返回false

end();
array的內部指針移動到最后一個單元并返回其值。

next();
返回數組內部指針指向的下一個單元的值,或當沒有更多單元時返回 FALSE

prev();
返回數組內部指針指向的前一個單元的值,或當沒有更多單元時返回 FALSE

array_walk();
bool array_walk ( array &array,callback funcname [, mixed userdata] )
具體描述請參考手冊!
示例:

array_reverse();
array array_reverse ( array array [,bool preserve_keys] )
接受數組array作為輸入并返回一個單元為相反順序的新數組,如果preserve_keysTRUE則保留原來的鍵名。
示例:

復制PHP內容到剪貼板
PHP代碼:
$states =array(‘Delaware’, ‘Pennsylvania’,‘New Jersey’);
print_r(array_reverse($states
));
//Array ([0]=>New Jersey [1]=>Pennsylvania[2]=>Delaware)
$states = array(‘Delaware’, ‘Pennsylvania’, ‘New?? Jersey’
);
print_r(array_reverse($states, 1
));
//Array ([2]=>New Jersey [1]=>Pennsylvania[0]=>Delaware)

array_flip();
array array_flip ( array trans )
交換數組中的鍵/值對,注意 trans 中的值需要能夠作為合法的鍵名,例如需要是 integer或者string。如果值的類型不對將發出一個警告,并且有問題的鍵/值對將不會反轉。
如果同一個值出現了多次,則最后一個鍵名將作為它的值,所有其它的都丟失了。
示例:

復制PHP內容到剪貼板
PHP代碼:
$trans =array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans
);
print_r($trans
);
//Array([1]=>b[2]=>c );

Determining array size and element uniqueness

count();
計算數組中的單元數目或對象中的屬性個數,很基本哦!

array_count_values();
返回一個數組,該數組用input數組中的值作為鍵名,該值在input數組中出現的次數作為值。
示例:

復制PHP內容到剪貼板
PHP代碼:
$array= array(1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));

array_unique();
array array_unique ( array array )
接受 array作為輸入并返回沒有重復值的新數組。
示例:

復制PHP內容到剪貼板
PHP代碼:
$input =array("a" => "green", "red", "b"=> "green", "blue", "red");
$result = array_unique($input
);
print_r($result);

詳細用法請參見手冊!

Sorting arrays

sort();
本函數對數組進行排序。當本函數結束時數組單元將被從最低到最高重新安排。
注意: 本函數為array中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。

natsort();
利用自然排序法對數組進行排序!
示例:

復制PHP內容到剪貼板
PHP代碼:
$array1 =$array2 = array("img12.png", "img10.png","img2.png", "img1.png");
sort($array1
);
echo
"Standard sorting\n"
;
print_r($array1
);

natsort($array2
);
echo
"\nNatural order sorting\n"
;
print_r($array2);

natcasesort();
natsort()一致,除了不區分大小寫!

rsort();
sort()一致,這個是逆向排序。
asort();
sort()一直,但保持鍵名不變。
array_multisort();
對多個數組或多維數組進行排序,具體參考手冊,有詳細說明!
arsort();
rsort()類似,但保持鍵名不變。
ksort();
sort()類似,對鍵名進行排序。
krsort();
ksort()類似,但是逆向排序。
usort();
利用用戶自定義函數對數組進行排序!
Merging, slicing, splicing, and dissectingarrays

array_combine();
array array_combine ( array keys,array values )
創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

array_merge();
array array_merge ( array array1 [,array array2 [, array ...]] )
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。
然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
示例:

復制PHP內容到剪貼板
PHP代碼:
$array1 =array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" =>"green", "shape" => "trapezoid", 4
);
$result = array_merge($array1, $array2
);
print_r($result);

如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續方式重新索引。

復制PHP內容到剪貼板
PHP代碼:
$array1 = array();
$array2 = array(1 => "data"
);
$result = array_merge($array1, $array2);

如果你想完全保留原有數組并只想新的數組附加到后面,用+運算符:

復制PHP內容到剪貼板
PHP代碼:
$array1 = array();
$array2 = array(1 => "data"
);
$result = $array1 + $array2;

array_merge_recursive();
array array_merge_recursive ( arrayarray1 [, array ...] )
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。
如果輸入的數組中有相同的字符串鍵名,則這些值會被合并到一個數組中去,這將遞歸下去,因此如果一個值本身是一個數組,本函數將按照相應的條目把它合并為另一個數組。然而,如果數組具有相同的數組鍵名,后一個值將不會覆蓋原來的值,而是附加到后面。

復制PHP內容到剪貼板
PHP代碼:
$ar1 = array("color" =>array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" =>"green", "blue"
));
$result = array_merge_recursive($ar1, $ar2
);
print_r($result);

更詳細的使用請參加手冊!

array_slice();
array array_slice ( array array, intoffset [, int length [, bool preserve_keys]] )
從數組中取出一段。
如果offset非負,則序列將從array中的此偏移量開始。如果offset為負,則序列將從array中距離末端這么遠的地方開始。
如果給出了length并且為正,則序列中將具有這么多的單元。如果給出了length并且為負,則序列將終止在距離數組末端這么遠的地方。如果省略,則序列將從offset開始一直到array的末端。
示例:

復制PHP內容到剪貼板
PHP代碼:
$input = array("a","b", "c", "d", "e");
$output = array_slice($input, 2);??????
// returns"c", "d", and "e"
$output = array_slice($input, -2, 1);??
// returns "d"
$output = array_slice($input, , 3);???
// returns "a","b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1
));
print_r(array_slice($input, 2, -1, true));

array_splice();
array array_splice ( array&input, int offset [, int length [, array replacement]] )
把input數組中由offset和length指定的單元去掉,如果提供了replacement參數,則用replacement數組中的單元取代。返回一個包含有被移除單元的數組。注意input中的數字鍵名不被保留。
如果offset非負,則序列將從array中的此偏移量開始。如果offset為負,則序列將從array中距離末端這么遠的地方開始。
如果給出了length并且為正,則序列中將具有這么多的單元。如果給出了length并且為負,則序列將終止在距離數組末端這么遠的地方。如果省略,則序列將從offset開始一直到array的末端。
具體應用參見手冊!

array_intersect();
array array_intersect ( arrayarray1, array array2 [, array ...] )
返回一個數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。注意鍵名保留不變。
示例:

復制PHP內容到剪貼板
PHP代碼:
$array1 =array("a" => "green", "red","blue");
$array2 = array("b" => "green", "yellow","red"
);
$result = array_intersect($array1, $array2);

array_intersect_assoc();
注意和array_intersect()不同的是鍵名也用于比較。

array_diff();
array_intersect()類似,只不過它是計算數組的差集

array_diff_assoc();
array_intersect_assoc()類似,只不過它是計算數組的差集

Other useful array functions

array_rand();
mixed array_rand ( array input [,int num_req] )
從數組中隨機取出一個或多個單元。

shuffle();
bool shuffle ( array &array )
本函數打亂(隨機排列單元的順序)一個數組。
本函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。

array_sum();
將數組中的所有值的和以整數或浮點數的結果返回。

array_chunk();
array array_chunk ( array input, intsize [, bool preserve_keys] )
將一個數組分割成多個數組,其中每個數組的單元數目由 size 決定。最后一個數組的單元數目可能會少幾個。得到的數組是一個多維數組中的單元,其索引從零開始。
將可選參數preserve_keys 設為 TRUE,可以使 PHP 保留輸入數組中原來的鍵名。如果你指定了 FALSE,那每個結果數組將用從零開始的新數字索引。默認值是 FALSE。

轉載于:https://my.oschina.net/adamboy/blog/30313

總結

以上是生活随笔為你收集整理的PHP5中数组函数总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产视频手机在线观看 | 中文字幕日韩欧美 | 麻豆视频在线看 | 欧美动态色图 | 国产一区91精品张津瑜 | 欧美日韩看片 | 日韩成人影视 | 欧美影院在线 | 狠狠久久久 | 国产精品久久久久久吹潮 | 久久久久成人精品无码 | 一级毛毛片 | 精品人妻一区二区三区四区久久 | 亚洲人性生活视频 | 免费精品视频 | 久久国产精品无码一级毛片 | 成人性视频网 | 黄色片网站国产 | 99re6在线精品视频免费播放 | 欧美日韩一区视频 | beeg日本高清xxxx18 | 黄色一区二区三区四区 | www.欧美色| caopeng在线 | 国产精品宾馆在线精品酒店 | 久久久久亚洲精品 | 国产成人午夜精华液 | 国产亚洲精品久久久久动 | 四虎成人精品在永久免费 | 91在线视频免费 | 天天视频国产 | 青青草99 | 丁香社区五月天 | 国产做爰免费观看 | 激情综合激情五月 | 中文天堂在线资源 | 男人草女人 | 午夜免费看视频 | 麻豆三级在线观看 | 99视频国产精品 | 中文字幕高清在线免费播放 | 日日操夜夜操狠狠操 | 国产一级网站 | 毛片在线视频 | 精品一区二区三区入口 | 少妇高潮一区二区三区99 | 青青草狠狠操 | 超碰在线资源 | 色婷婷一区二区三区 | 中文字幕av在线免费 | 奇米成人 | 超碰网址 | 亚洲特黄 | 亚洲欧洲日本精品 | 粗大挺进潘金莲身体在线播放 | 日本免费色 | 黑人一级视频 | 国产精品美女视频 | 五月天av在线 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 美女屁股眼视频免费 | a激情 | 久久岛国| 特级黄色大片 | 国内自拍一区 | 日本少妇影院 | 牛牛视频在线 | 乌克兰av在线 | 日本大尺度激情做爰hd | 精品久久九九 | 爱就操 | 中文字幕在线观看网站 | 欧美日韩一二三四 | 国产视频播放 | 久久网亚洲 | 国产乱人伦精品一区二区 | 黄色片怎么看 | 91极品身材尤物theporn | 久久综合亚洲色hezyo国产 | 午夜寻花| a天堂在线 | 国产原创一区 | 久久久国产一区二区 | 欧美日韩中文字幕视频 | 男生c女生| 精品日韩中文字幕 | 男女啪啪十八 | 国产精品色片 | 日韩欧美一二三四区 | 99精品一区二区三区无码吞精 | 我不卡一区二区 | 中文字幕无码毛片免费看 | 亚洲av综合色区无码一二三区 | 无码国产69精品久久久久网站 | a在线看| 久久久久九九九九 | 蜜桃精品成人影片 | 国产成人综合在线 | 黄色av网站在线看 |