第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對數(shù)組值進(jìn)行排序,但不更改原始鍵順序

對數(shù)組值進(jìn)行排序,但不更改原始鍵順序

PHP
莫回?zé)o 2023-09-22 14:41:04
我有一個看起來像這樣的數(shù)組:$array = array(  '5' => 2,  '6' => 3,  '7' => 10,  '8' => 1);    我希望它看起來像這樣:$array = array(  '5' => 1,  '6' => 2,  '7' => 3,  '8' => 10);鍵應(yīng)保持不變,但值應(yīng)按升序排列。sort()鍵將被刪除并替換為從 0 開始的鍵。將asort()按照我想要的方式對值進(jìn)行排序,但它將保持鍵關(guān)聯(lián)。我嘗試過sort(),但這些似乎都不是我需要的排序功能usort()。asort()我必須手動排序還是有可以使用的功能?
查看完整描述

2 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗 獲得超4個贊

您可以使用 提取數(shù)組的鍵array_keys,使用 對值進(jìn)行排序sort,然后使用 將鍵與排序后的值組合起來array_combine

$array = array(

'5' => 2,

'6' => 3,

'7' => 10,

'8' => 1

);??

$keys = array_keys($array);

sort($array);

$array = array_combine($keys, $array);

print_r($array);

輸出:


Array

(

? ? [5] => 1

? ? [6] => 2

? ? [7] => 3

? ? [8] => 10

)

3v4l.org 上的演示


查看完整回答
反對 回復(fù) 2023-09-22
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊

您可以sort()通過將調(diào)用捕獲到匿名函數(shù)調(diào)用中來將調(diào)用與全局范圍隔離。

這執(zhí)行與 Nick 的答案相同的操作,但不聲明全局范圍的變量,不修改原始數(shù)組,并且可以寫成一行。我承認(rèn)這是一個可讀性較差的變體。

代碼:(演示

var_export(

? ? array_combine(

? ? ? ? array_keys($array),

? ? ? ? (fn($v) => sort($v) ? $v : $v)($array)

? ? )

);


查看完整回答
反對 回復(fù) 2023-09-22
  • 2 回答
  • 0 關(guān)注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號