亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

根據搜索條件制作一個新的數組形式的多維數組

根據搜索條件制作一個新的數組形式的多維數組

PHP
ibeautiful 2022-09-03 17:33:14
我有一個多維數組。我想搜索值(用戶名IE jon)并計算特定用戶名的總“YES”。IE 根據下面的數組 Andew 重復三次索引 1,3,4,其值為“YES”,因此 Andrew 的總“YES”計數值 = 3Jon 重復兩次,但其值為“NO”,因此其值為 = 0Array(    [0] => Array        (            [0] => Jon            [1] => NO        )    [1] => Array        (            [0] => Andew            [1] => NO        )    [2] => Array        (            [0] => Walid            [1] => YES        )    [3] => Array        (            [0] => Andew            [1] => YES        )    [4] => Array        (            [0] => Andew            [1] => YES        )    [5] => Array        (            [0] => Jon            [1] => NO        )    [6] => Array        (            [0] => Andew            [1] => YES        ))我想讓用戶作為鍵和值 = 計算“是”的總數。輸出Array(john => 0,Andew => 3Walid => 1)任何人,請建議一個可能的解決方案?
查看完整描述

3 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

您可以使用array_reduce:


$stats = array_reduce($array, static function ($stats, $entry) {

  $stats[$entry[0]] = ($stats[$entry[0]] ?? 0) + ($entry[1] === 'YES' ? 1 : 0);

  return $stats;

});

這將建立一個數組,將其初始值設置為 0,并且只要找到 a,就會將其遞增 1。$statsYES


演示:https://3v4l.org/NmZ7G


查看完整回答
反對 回復 2022-09-03
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

如果您只需要“YES”的計數,則下面的計數將輸出計數。


$count_array = [];


foreach($array as $values){


    if(!isset($count_array[$values[0]])){


        $count_array[$values[0]] = 0;

     } 


    if($values[1] === 'YES'){


       $count_array[$values[0]] ++; 

    }       

}


print_r($count_array);


查看完整回答
反對 回復 2022-09-03
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

(與@Jeto array_reduce沒有什么不同。


一個簡單的前言:


<?php


$data =

[

    ['Brian', 'YES'],

    ['Brian', 'YES'],

    ['Charles', 'NO'],

    ['Charles', 'YES'],

    ['Nicola', 'NO']

];


foreach($data as list($name, $yes_no))

    $yes_counts[$name] = ($yes_counts[$name] ?? 0) + (int) ($yes_no === 'YES');


var_export($yes_counts);

輸出:


array (

    'Brian' => 2,

    'Charles' => 1,

    'Nicola' => 0,

  )


查看完整回答
反對 回復 2022-09-03
  • 3 回答
  • 0 關注
  • 108 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號