在PHP数组中计数项目
我在计算我的数组时遇到了麻烦,有人能帮我什么忙在PHP数组中计数项目,php,arrays,Php,Arrays,我在计算我的数组时遇到了麻烦,有人能帮我什么忙 Array ( [2014-06-17] => Array ( [0] => Array ( [id] => 40404 [client] => Client 1 [date] => 2014-06-17T14:57:08
Array
(
[2014-06-17] => Array
(
[0] => Array
(
[id] => 40404
[client] => Client 1
[date] => 2014-06-17T14:57:08+0100
)
[1] => Array
(
[id] => 40403
[client] => Client 1
[date] => 2014-06-17T14:39:02+0100
)
[2] => Array
(
[id] => 40402
[client] => Client 2
[date] => 2014-06-17T13:34:18+0100
)
)
)
我想在创建数组后对其进行过滤,使其看起来像这样
Array
(
[2014-06-17] => Array
(
[Client 1] => Array
(
[submitted] => 2
)
[Client 2] => Array
(
[submitted] => 1
)
)
目前我的代码看起来是这样的,我想我需要另一个foreach来过滤这个数组,但是我一直在过滤这个数组
foreach ($submissions as $sortArray) {
$dataJson[substr($sortArray['thing']['created'], 0, 10)][] = array(
'id' => $sortArray['id'],
'client' => $sortArray['thing']['client']['name'],
'date' => $sortArray['thing']['created']
);
$filterd = $dataJson;
}
echo "<pre>";
print_r($filterd);
echo "</pre>";
foreach($sortArray形式提交){
$dataJson[substr($sortArray['thing']['created'],0,10][]=array(
'id'=>$Sortaray['id'],
'client'=>$sortArray['thing']['client']['name'],
'date'=>$sortArray['thing']['created']
);
$filterd=$dataJson;
}
回声“;
印刷品($filterd);
回声“;
您可以循环使用客户端标识符作为数组键:
$result = array();
foreach($source as $day => $orders) {
$clients = array();
foreach ($orders as $order) {
if (!isset($clients[$order['client']])) {
$clients[$order['client']] = array('submitted' => 1);
}
else {
$clients[$order['client']]['submitted']++;
}
}
$result[$day] = $clients;
}
像这样的
$array = array();
foreach($submissions as $submission){
$array[$submission['client']]['submitted'] = isset($array[$submission['client']]['submitted'])? ($array[$submission['client']]['submitted'] + 1): 1;
}
您可以这样做:
$array = array();
foreach($submissions as $submission){
$array[$submission['client']]['submitted'] = isset($array[$submission['client']]['submitted'])? ($array[$submission['client']]['submitted'] + 1): 1;
}