PHP计数多维数组中数组项的出现次数
不再需要此帖子。您可以创建一个数组来保存计数。将状态用作键并递增值PHP计数多维数组中数组项的出现次数,php,arrays,Php,Arrays,不再需要此帖子。您可以创建一个数组来保存计数。将状态用作键并递增值 $statuses = array('SHIPPED', 'FAILED', 'COMPLETED'); $output = array_fill_keys($statuses, 0); foreach ($response as $feedback) { foreach($statuses as $status){ if($feeedback->status === $status){
$statuses = array('SHIPPED', 'FAILED', 'COMPLETED');
$output = array_fill_keys($statuses, 0);
foreach ($response as $feedback) {
foreach($statuses as $status){
if($feeedback->status === $status){
$output[$status]++;
}
}
}
试试这个:
<?php
$response = array(
(object) array(
'status' => 'SHIPPED',
'country' => 'UNITED STATES'
),
(object) array(
'status' => 'FAILED',
'country' => 'UNITED STATES'
),
(object) array(
'status' => 'SHIPPED',
'country' => 'UNITED STATES'
),
(object) array(
'status' => 'COMPLETED',
'country' => 'UNITED STATES'
),
(object) array(
'status' => 'SHIPPED',
'country' => 'UNITED STATES'
),
(object) array(
'status' => 'FAILED',
'country' => 'UNITED STATES'
)
);
$results = array();
foreach ($response as $data) {
// +1 to each of the status count here
$results[$data->status] = isset($results[$data->status]) ? $results[$data->status]+1 : $results[$data->status] = 1;
}
echo '<pre>';
echo '$results: ' . print_r($results, true);
echo '</pre>';
为输出创建一个数组。然后您可以执行类似于$output[$status]++
@RocketHazmat你有可能的例子吗?最好的方法是什么+不要自己尝试+你有可能的例子吗?听起来我好像一点线索也没有,请帮我做。@AlanMachado谢谢你的有用输入。请不要破坏你的帖子。