[英]Extract same key from array and count same values in new array php
我有这个数组
Array
(
[0] => Array
(
[status] => 15
[orario] => 10:00
)
[1] => Array
(
[status] => 15
[orario] => 11:00
)
[2] => Array
(
[status] => 15
[orario] => 09:00
)
[3] => Array
(
[status] => 12
[orario] => 09:00
)
[4] => Array
(
[status] => 12
[orario] => 09:00
)
[5] => Array
(
[status] => 12
[orario] => 10:00
)
)
所以我想要一个新数组,其中我有类似状态的计数,在这种情况下,状态 = 12,我有 2 个状态为 12 和 orario = 09:00 的值,1 个状态为状态 = 12 和 orario = 10:00
Array
(
09:00 => 2
10:00 => 1
)
使用 array_column 我没有过滤器
$stat_orario = array_column($the_array, 'status', 'orario');
print_r($stat_orario);
所以我有总结果
Array
(
09:00 => 3
10:00 => 2
11:00 => 1
)
您应该尝试以下代码:
$arr = array(
array('status'=>15,'orario'=>'10:00'),
array('status'=>15,'orario'=>'11:00'),
array('status'=>15,'orario'=>'09:00'),
array('status'=>12,'orario'=>'09:00'),
array('status'=>12,'orario'=>'09:00'),
array('status'=>12,'orario'=>'10:00')
);
$orario = array_count_values(array_column($arr, 'orario'));
输出是:
Array
(
[10:00] => 2
[11:00] => 1
[09:00] => 3
)
这是我找到的解决方案,感谢 Forge Web Design
$arr = array(
array('status'=>15,'orario'=>'10:00'),
array('status'=>15,'orario'=>'11:00'),
array('status'=>15,'orario'=>'09:00'),
array('status'=>12,'orario'=>'09:00'),
array('status'=>12,'orario'=>'09:00'),
array('status'=>12,'orario'=>'10:00')
);
// I transform the array with only status = 12, but I have to do this for every status I want to extract values
foreach ($arr as $key => $val) {
if ($arr[$key]['status'] == '12')
$status_12[$key] = $val;
}
$orario = array_count_values(array_column($arr, 'orario'));
现在输出只有状态 = 12
Array
(
[10:00] => 1
[09:00] => 2
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.