php數組按照多個鍵值排序,php數組按照多個鍵值排序

本文目錄一覽:

php數組排序有很多的方法,哪位可以詳細的分解一二嗎,如用函數和不用函數。

在php數組排序中我們通常會用到下列幾個函數。

sort() —— 以升序對數組排序,是以元素值來排序的

rsort() —– 以降序對數組排序,以元素值來排序。

asort() —– 根據值,以升序對關聯數組進行排序

ksort() —– 根據鍵,以升序對關聯數組進行排序

arsort() —- 根據值,以降序對關聯數組進行排序

krsort() —- 根據鍵,以降序對關聯數組進行排序

array_multisort()—-對多個數組或多維數組進行排序

用sort函數來做下示例吧

?php

$string=array(“Yes”,”True”,”False”);

sort($string);

print_r($string);

?

運行結果為:Array ( [0] = False [1] = True [2] = Yes )

再來看一個array_multisort的例子了,

?php

$att[] = array(‘name’ = ‘cat’, ‘number’ = 2);

$att[] = array(‘name’ = ‘dog’, ‘number’ = 1);

$att[] = array(‘name’ = ‘dgg’, ‘number’ = 6);

$att[] = array(‘name’ = ‘monkey’, ‘number’ = 2);

$att[] = array(‘name’ = ‘bear’, ‘number’ = 6);

$att[] = array(‘name’ = ‘bee’, ‘number’ = 7);

array_multisort($att,SORT_DESC,SORT_REGULAR);

print_r($att);

?

輸出結果為:

Array (

[0] = Array ( [name] = monkey [number] = 2 )

[1] = Array ( [name] = dog [number] = 1 )

[2] = Array ( [name] = dgg [number] = 6 )

[3] = Array ( [name] = cat [number] = 2 )

[4] = Array ( [name] = bee [number] = 7 )

[5] = Array ( [name] = bear [number] = 6 )

)

不用數組的來個例子了。

?php

$att[] = array(‘name’ = ‘cat’, ‘number’ = 2);

$att[] = array(‘name’ = ‘dog’, ‘number’ = 1);

$att[] = array(‘name’ = ‘dgg’, ‘number’ = 6);

$att[] = array(‘name’ = ‘monkey’, ‘number’ = 2);

$att[] = array(‘name’ = ‘bear’, ‘number’ = 6);

$att[] = array(‘name’ = ‘bee’, ‘number’ = 7);

for($i=0;$icount($att);$i++){

foreach($att as $key=$val){

if($att[$i][‘number’]$val[‘number’]){

$att[$key]=$att[$i];

$att[$i]=$val;

}

}

}

print_r($att);

?

結果:

Array (

[0] = Array ( [name] = bee [number] = 7 )

[1] = Array ( [name] = bear [number] = 6 )

[2] = Array ( [name] = dgg [number] = 6 )

[3] = Array ( [name] = cat [number] = 2 )

[4] = Array ( [name] = monkey [number] = 2 )

[5] = Array ( [name] = dog [number] = 1 )

)

當然還有更多的方法,如插入排序,選擇排序,冒泡排序,快速排序等。這些網站有很多的,如這個網站上就有:至於數組和字符串的話,主要有str_split()、explode(),preg_split()三個函數。當然還有別的方法,上面那個網我站有說到,你可以自己去找一找了。

php如何按數組鍵值排序?

array_change_key_case — 返回字符串鍵名全為小寫或大寫的數組

array_chunk — 將一個數組分割成多個

array_combine — 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

array_count_values — 統計數組中所有的值出現的次數

array_diff_assoc — 帶索引檢查計算數組的差集

array_diff_uassoc — Computes the difference of arrays with additional index check which is performed by a user supplied callback function.

array_diff — 計算數組的差集

array_fill — 用給定的值填充數組

array_filter — 用回調函數過濾數組中的單元

array_flip — 交換數組中的鍵和值

array_intersect_assoc — 帶索引檢查計算數組的交集

array_intersect — 計算數組的交集

array_key_exists — 檢查給定的鍵名或索引是否存在於數組中

array_keys — 返回數組中所有的鍵名

array_map — 將回調函數作用到給定數組的單元上

array_merge_recursive — 遞歸地合併兩個或多個數組

array_merge — 合併兩個或多個數組

array_multisort — 對多個數組或多維數組進行排序

array_pad — 用值將數組填補到指定長度

array_pop — 將數組最後一個單元彈出(出棧)

array_push — 將一個或多個單元壓入數組的末尾(入棧)

array_rand — 從數組中隨機取出一個或多個單元

array_reduce — 用回調函數迭代地將數組簡化為單一的值

array_reverse — 返回一個單元順序相反的數組

array_search — 在數組中搜索給定的值,如果成功則返回相應的鍵名

array_shift — 將數組開頭的單元移出數組

array_slice — 從數組中取出一段

array_splice — 把數組中的一部分去掉並用其它值取代

array_sum — 計算數組中所有值的和

array_udiff_assoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function.

array_udiff_uassoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also

array_udiff — Computes the difference of arrays by using a callback function for data comparison.

array_unique — 移除數組中重複的值

array_unshift — 在數組開頭插入一個或多個單元

array_values — 返回數組中所有的值

array_walk — 對數組中的每個成員應用用戶函數

array — 新建一個數組

arsort — 對數組進行逆向排序並保持索引關係

asort — 對數組進行排序並保持索引關係

compact — 建立一個數組,包括變量名和它們的值

count — 統計變量中的單元數目

current — 返回數組中的當前單元

each — 返回數組中當前的鍵/值對並將數組指針向前移動一步

end — 將數組的內部指針指向最後一個單元

extract — 從數組中將變量導入到當前的符號表

in_array — 檢查數組中是否存在某個值

key — 從結合數組中取得鍵名

krsort — 對數組按照鍵名逆向排序

ksort — 對數組按照鍵名排序

list — 把數組中的值賦給一些變量

natcasesort — 用「自然排序」算法對數組進行不區分大小寫字母的排序

natsort — 用「自然排序」算法對數組排序

next — 將數組中的內部指針向前移動一位

pos — 得到數組當前的單元

prev — 將數組的內部指針倒回一位

range — 建立一個包含指定範圍單元的數組

reset — 將數組的內部指針指向第一個單元

rsort — 對數組逆向排序

shuffle — 將數組打亂

sizeof — count() 的別名

sort — 對數組排序

uasort — 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯

uksort — 使用用戶自定義的比較函數對數組中的鍵名進行排序

usort — 使用用戶自定義的比較函數對數組中的值進行排序

PHP數組排序

php中數組自定義排序 使用  usort函數

PHP  usort

$arr = array(“哈哈-默默-122″,”吸收-伏牛山-7″,”啥的-都是-12”);

usort($arr,function($v1, $v2){

    //將兩個值切割

    $va1=explode(‘-‘,$v1);

    $va2=explode(‘-‘,$v2);

    //取兩個值 的最後一段數字

    $num1 = intval(array_pop($va1));

    $num2 = intval(array_pop($va2));

    

    //返回比較結果

    return $num2$num1?1:($num2$num1?-1:0);

});

var_export($arr);

你看下上面排序結果是否你要的,如果反了,把return中的1和-1換一換就可以了

php如何根據數組中的鍵值進行排序

$newArr=array();

for($j=0;$jcount($arr);$j++){

$newArr[]=$arr[$j][‘flag’]

}

array_multisort($newArr,$arr);

print_r($arr)

php 多維數組鍵值重新排序

$a = array(2=array(1,2,3,4),6=array(6,2,3,5),1=array(1,4,53));

$b = array_values($a);//返回數組中的所有值,形成新的數組,建立數字索引

原創文章,作者:EODL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/143473.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EODL的頭像EODL
上一篇 2024-10-20 20:42
下一篇 2024-10-22 23:33

相關推薦

  • 為什麼Python不能編譯?——從多個方面淺析原因和解決方法

    Python作為很多開發人員、數據科學家和計算機學習者的首選編程語言之一,受到了廣泛關注和應用。但與之伴隨的問題之一是Python不能編譯,這給基於編譯的開發和部署方式帶來不少麻煩…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 從多個方面用法介紹yes,but let me review and configure level of access

    yes,but let me review and configure level of access是指在授權過程中,需要進行確認和配置級別控制的全能編程開發工程師。 一、授權確…

    編程 2025-04-29

發表回復

登錄後才能評論