A. php-Array函數簡介-數組操作-php實例教程
count()計算數組中的元素數目或對象中的屬性個數。3current()返回數組中的當前元素。3each()返回數組中當前的鍵/值對並將數組指針向前移動一步。3end()將數組的內部指針指向最後一個元素。3extract()從數組中將變數導入到當前的符號表。3in_array()檢查數組中是否存在指定的值。4key()從關聯數組中取得鍵名。3krsort()對數組按照鍵名逆向排序。3ksort()對數組按照鍵名排序。3list()把數組中的值賦給一些變數。3natcasesort()用「自然排序」演算法對數組進行不區分大小寫字母的排序。4natsort()用「自然排序」演算法對數組排序。4next()將數組中的內部指針向前移動一位。3pos()current()
的別名。3prev()將數組的內部指針倒回一位。3range()建立一個包含指定范圍的元素的數組。3reset()將數組的內部指針指向第一個元素。3rsort()對數組逆向排序。3shuffle()把數組中的元素按隨機順序重新排列。3sizeof()count()
的別名。3sort()對數組排序。3uasort()使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯。3uksort()使用用戶自定義的比較函數對數組中的鍵名進行排序。3usort()使用用戶自定義的比較函數對數組中的值進行排序。3
B. PHP數組重新排序
array_multisort對多個數組或多維數組進行排序 排序的依據可以是自定義,完全可以用一個一維數組去排序多維數組.
$arrSort=[];
foreach($arras$info){
$arrSort[]=$info['o'];
}
sort($arrSort);
array_multisort($arrSort,$arr);
array_multisort
你研究一下.這個是完全可行的.
C. php如何按數組鍵值排序
$arr=[
array(
'name'=>'小壞龍',
'age'=>28
),
array(
'name'=>'小壞龍2',
'age'=>14
),
array(
'name'=>'小壞龍3',
'age'=>59
),
array(
'name'=>'小壞龍4',
'age'=>23
),
array(
'name'=>'小壞龍5',
'age'=>23
),
array(
'name'=>'小壞龍6',
'age'=>21
),
];
array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
其中 array_column(數組,數組中的某個鍵值) 從多維數組中取出某個鍵值的一列 返回一個一維數組;
array_multisort(數組(一維數組),排序方式(SOTR_ASC,SOTR_DESC),其他數組(可以是二維的)
D. php用系統函數將一個數組按另一個數組的值進行排序
rsort()定義和用法
rsort() 函數對數組的元素按照鍵值進行逆向排序。與 arsort() 的功能基本相同。
注釋:該函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。
如果成功則返回 TRUE,否則返回 FALSE。
可選的第二個參數包含另外的排序標志。
語法
rsort(array,sorttype)參數 描述
array 必需。輸入的數組。
sorttype 可選。規定如何排列數組的值。可能的值:
SORT_REGULAR - 默認。以它們原來的類型進行處理(不改變類型)。
SORT_NUMERIC - 把值作為數字來處理
SORT_STRING - 把值作為字元串來處理
SORT_LOCALE_STRING - 把值作為字元串來處理,基於本地設置*。
*:該值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系統的區域設置,可以用 setlocale() 來改變。自 PHP 6 起,必須用 i18n_loc_set_default() 函數。
例子
復制代碼 代碼如下:
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
rsort($my_array);
print_r($my_array);
?>
輸出:
Array
(
[0] => Horse
[1] => Dog
[2] => Cat
)
E. php 數組有兩個元素怎樣用sort排序
php的數組分為數字索引型的數組,和關鍵字索引的數組。
如果是數字索引的,可以這樣使用:
$names = ['Tom', 'Rocco','amiona'];
sort($names);
sort()函數只接收數組這個一個參數,默認排序方式是按照字母升序排列,因為是區分大小寫的,所以大寫字母在前,小寫字母在後。
以上排序的結果是:['Rocco', 'Tom', 'amiona']
如果還有不明白的歡迎追問!
F. php怎樣根據數組的長度來排序
usort()函數排序。可根據大小,長度,等自定義排序
<?php
functionmy_sort($a,$b){
if(count($a)==count($b))return0;
return(count($a)>count($b))?-1:1;
}
$arr=array(array("Peter"),array("glenn","Cleveland","peter","cleveland"),array("Glenn"));
usort($arr,"my_sort");
print_r($arr);
//http://www.hi-docs.com/php/usort.html
?>
G. php怎麼根據數組中其中的一個值排序
$newArr=array();
for($j=0;$j<count($arr);$j++){
$newArr[]=$arr[$j]['flag']
}
array_multisort($newArr,$arr);
print_r($arr)