Calculate number of elements on the specific criteria

excel count cells with specific text
excel count how many times a value appears in a column
count cells that contain specific numbers
excel count number of cells
excel count number of occurrences of each value in a column
countifs function in excel with multiple criteria
how to count number of pass or fail in excel
count number of observations in r

I have an array like

array(3) { 
  [0]=> array(2) { 
    ["AllotmentId"]=> string(36) "6b594c22-73f1-0a2a-298c-2d3feba2905d" 
    ["RoomId"]=> string(36) "9a21e427-16fd-7a9e-bc16-537dc55093bb" } 
  [1]=> array(2) { 
    ["AllotmentId"]=> string(36) "99730f9a-2242-24bd-0908-b9035a75d328" 
    ["RoomId"]=> string(36) "9a21e427-16fd-7a9e-bc16-537dc55093bb" } 
  [2]=> array(2) { 
    ["AllotmentId"]=> string(36) "fft54c22-73f1-0a2a-2558c-2d3fgged" 
    ["RoomId"]=> string(36) "663ghjytf-16fd-7a9e-bc16-537dc55r5g0" } 
}

Now I want to create another array which will store the following information like

[ 
  RoomId => "9a21e427-16fd-7a9e-bc16-537dc55093bb",  NumberOfAllotments => 2 
  RoomId => "663ghjytf-16fd-7a9e-bc16-537dc55r5g0",  NumberOfAllotments => 1
]

It should calculate the number of allotment ids against room ids and create another array.

I am not able to tweak the below lines of code.

foreach ($allotmentArray as $key => $allotment) 
{          
    $arrayToPush = array('RoomId' => $allotment["RoomId"], "NumberOfAllotments" => $count]);
    array_push($freeRooms, $arrayToPush); 
}

Please help !!!

Try this :

// Your array
$array = array(
  0 => array(
    "AllotmentId" => "6b594c22-73f1-0a2a-298c-2d3feba2905d",
    "RoomId" => "9a21e427-16fd-7a9e-bc16-537dc55093bb" ),
  1=> array(
    "AllotmentId"=> "99730f9a-2242-24bd-0908-b9035a75d328",
    "RoomId" => "9a21e427-16fd-7a9e-bc16-537dc55093bb" ),
  2=> array(
    "AllotmentId"=> "fft54c22-73f1-0a2a-2558c-2d3fgged",
    "RoomId"=> "663ghjytf-16fd-7a9e-bc16-537dc55r5g0" )
);

1/ I create a temp array

$temp_array = array();

2/ Then I add all roomId value in this temp array

foreach ($array as $key => $data) {
    $temp_array[] = $data['RoomId'];
}

3/ Now I count the number of each roomId

$temp_result = array_count_values($temp_array);

Here the output is :

array (size=2)
  '9a21e427-16fd-7a9e-bc16-537dc55093bb' => int 2
  '663ghjytf-16fd-7a9e-bc16-537dc55r5g0' => int 1

4/ Now I will build my result array

$result = array();

5/ I add a new array with the roomId and the number of allotments

foreach ($temp_result as $roomId => $NumberOfAllotments) {
    $result[] = array(
        'RoomId' => $roomId,
        'NumberOfAllotments' => $NumberOfAllotments
    );
}

Here is the output :

array (size=2)
  0 => 
    array (size=2)
      'RoomId' => string '9a21e427-16fd-7a9e-bc16-537dc55093bb' (length=36)
      'NumberOfAllotments' => int 2
  1 => 
    array (size=2)
      'RoomId' => string '663ghjytf-16fd-7a9e-bc16-537dc55r5g0' (length=36)
      'NumberOfAllotments' => int 1

Is it what you are looking for?

I think you can find an other way using some php array function, but this method works (if I understand what you wanted !)

R Is Not So Hard! A Tutorial, Part 15: Counting Elements in a Data Set, gives a handy method of counting elements that meet particular criteria. b <- c(​7, 2, In fact, you can count the number of elements that satisfy almost any given That syntax found the proportion of elements meeting the criterion rather than  My code returns the total number of elements in column y that fall under rows where column x > 0. Can you please help me find the number of elements in column y that are > 0 and correspond to column x when column x > 0.

try this code:

first count and save in a key value array which is named $targetArray. then generate you prefered output in $outputArray:

<?php

$targetArray = array();

foreach ($allotmentArray as $allotment) 
{
    if(!array_key_exists($allotment['RoomId'], $targetArray))
        $targetArray[$allotment['RoomId']] = 0;
    $targetArray[$allotment['RoomId']]++;
}

$outputArray = array();

foreach($targetArray as $RoomId=> $count)
    $outputArray[] = array('RoomId'=>,'count'=>$count);

var_dump($outputArray);

Excel formula: Count cells equal to, To count the number of cells equal to a specific value, you can use the COUNTIF it counts the number of cells in a range that match the supplied criteria. as.data.frame(cbind(Number = names(s),Freq = s), stringsAsFactors=F, row.names = 1:length(s)) here row.names has been used to rename row names. without using row.names, column names in s are used as row names in new dataframe

As I see it you don't need to loop. Use array_column and array_count_values.

$Roomid = array_count_values(array_column($arr, "RoomId"));

Now Roomid key is the Roomid and the value is the count of each.

If you must have the array as in your question you can do like this:

$Roomid = array_count_values(array_column($arr, "RoomId"));
Foreach($Roomid as $room => $count){
    $arr[] = ["Roomid" => $room, 'NumberOfAllotments' => $count];
}

This will only loop each unique room, instead of the full array.

Output(s): https://3v4l.org/ohUJS

Excel formula: Count if row meets multiple internal criteria, To count rows in a table that meet multiple criteria, some of which depends on logical When given a single array, it returns the sum of the elements in the array. by David Lillis, Ph.D. Combining the length () and which () commands gives a handy method of counting elements that meet particular criteria. Let’s count the 3s in the vector b. In fact, you can count the number of elements that satisfy almost any given condition. Here is an alternative approach, also using the length () command, but also

How to Count in Excel Functions, And to count specific text, without counting similar text, see the example here. In Excel, count cells that meet a specific criterion. be 4, the number of cells that contain "Pen" △TOP  The Criteria is cell D12 (East). An Average_range of cells E3 to E9, which contains the average sales by each employee. So if data in the range C3:C12 equals East , then the total sales for that record are averaged by the function.

How to count cells by criteria, for a particular person or other criterion. To count cells by criteria, do the following: 1. Select the cell where want Excel to return the number of cell by criteria. To sum if cells contain specific text, you can use the SUMIF function with a wildcard. In the example shown, cell G6 contains this formula: In the example shown, cell G6 contains this formula: = SUMIF ( C5:C11 , "*t-shirt*" , D5:D11 )

counting the number of elements under multiple conditions , I need to count the number of elements in column y that confirm two conditions: When the column x is greater than 0. When column y is greater  You will see updates in your activity feed. You may receive emails, depending on your notification preferences. I have a large matrix, m, and am trying to count the number of a specific value (i.e. How many indexes are of the value 4?) but I end up with val being a matrix/vector of numbers. I assume these numbers are from each column and should

Comments
  • Do you mean [ RoomId => "9a21e427-16fd-7a9e-bc16-537dc55093bb", NumberOfAllotments => 2 RoomId => "663ghjytf-16fd-7a9e-bc16-537dc55r5g0", NumberOfAllotments => 1 ] OR [ [ RoomId => "9a21e427-16fd-7a9e-bc16-537dc55093bb", NumberOfAllotments => 2], [ RoomId => "663ghjytf-16fd-7a9e-bc16-537dc55r5g0", NumberOfAllotments => 1] ]
  • I want to get the number of allotments done per room which are stored in an array the above question. like room id "9a21e427-16fd-7a9e-bc16-537dc55093bb" has two allotments ids like "6b594c22-73f1-0a2a-298c-2d3feba2905d", "99730f9a-2242-24bd-0908-b9035a75d328" so the numberOfAllotments will be 2 for this roomid and the put them in seperate array
  • I want to get the number of allotments done per room which are stored in an array the above question. like room id "9a21e427-16fd-7a9e-bc16-537dc55093bb" has two allotments ids like "6b594c22-73f1-0a2a-298c-2d3feba2905d", "99730f9a-2242-24bd-0908-b9035a75d328" so the numberOfAllotments will be 2 for this roomid
  • @NidaAmin Yes, it's what I did no? I build an array with one result for each RoomId and the number of allotments of this roomId, where is the problem?