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

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

PHP 中的哪些集合可以對發(fā)生次數(shù)進(jìn)行計(jì)數(shù)和排序

PHP 中的哪些集合可以對發(fā)生次數(shù)進(jìn)行計(jì)數(shù)和排序

PHP
拉丁的傳說 2023-11-03 16:02:28
使用 PHP 7.3/7.4 我想使用/創(chuàng)建一個(gè)鍵值集合。我想多次按同一個(gè)鍵。每次該值都應(yīng)該遞增(第一次該值為 1)。最后,我需要獲取按值排序的鍵值對。例如$somecollection = ???$somecollection->add('hello')$somecollection->add('bye')$somecollection->add('hello')$somecollection->add('John')$somecollection->add('bye')$somecollection->add('hello')應(yīng)該返回$ordered = $somecollection->ordered()dump($ordered) --> ['hello' -> 3, 'bye' -> 2, 'john' ->1]這已經(jīng)存在了嗎?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊

有一個(gè)原生 PHP 函數(shù)可以實(shí)現(xiàn)此目的。

只需將一個(gè)值推入普通數(shù)組即可添加它:

$values = [];


$values[] = 'hello';

$values[] = 'bye';

$values[] = 'hello';

$values[] = 'John';

$values[] = 'hello';

$values[] = 'bye';


// Count the unique instances in the array

$totals = array_count_values($values);


// If you want to sort them

asort($totals);


// If you want to sort them reversed

arsort($totals);

結(jié)果$totals數(shù)組將是:


Array

(

? ? [hello] => 3

? ? [bye] => 2

? ? [John] => 1

)


查看完整回答
反對 回復(fù) 2023-11-03
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

將其構(gòu)建到一個(gè)類中將允許您根據(jù)需要?jiǎng)?chuàng)建計(jì)數(shù)器。它有一個(gè)私有變量,用于存儲(chǔ)每次調(diào)用的計(jì)數(shù)inc()(因?yàn)樗窃隽慷皇莂dd())。


該ordered()方法首先對計(jì)數(shù)器進(jìn)行排序(用于arsort保持鍵對齊)...


class Counter {

    private $counters = [];

    

    public function inc ( string $name ) : void {

        $this->counters[$name] = ($this->counters[$name] ?? 0) + 1;

    }

    

    public function ordered() : array {

        arsort($this->counters);

        return $this->counters;

    }

}

所以


$counter = new Counter();

$counter->inc("first");

$counter->inc("a");

$counter->inc("2");

$counter->inc("a");


print_r($counter->ordered());

給...


Array

(

    [a] => 2

    [first] => 1

    [2] => 1

)


查看完整回答
反對 回復(fù) 2023-11-03
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以通過以下方式執(zhí)行此操作:


function count_array_values($my_array, $match) 

{

    $count = 0; 

    foreach ($my_array as $key => $value) 

    { 

        if ($value == $match) 

        { 

            $count++; 

        } 

    }    

    return $count; 

$array = ["hello","bye","hello","John","bye","hello"];

$output =[];


foreach($array as $a){

    $output[$a] = count_array_values($array, $a); 

}

arsort($output);

print_r($output);

你會(huì)得到類似的輸出


Array ( [hello] => 3 [bye] => 2 [John] => 1 )


查看完整回答
反對 回復(fù) 2023-11-03
  • 3 回答
  • 0 關(guān)注
  • 179 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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