Count()到PHP中的多维数组中
如果我有这个数组:Count()到PHP中的多维数组中,php,arrays,Php,Arrays,如果我有这个数组: Array ( [0] => Array ( [booking_id] => 1 [booking_status] => confirmed [client_name] => Bale [client_firstname] => Gareth [days] => Array ( [day_id] => 2016-11-23,
Array (
[0] => Array (
[booking_id] => 1
[booking_status] => confirmed
[client_name] => Bale
[client_firstname] => Gareth
[days] => Array (
[day_id] => 2016-11-23,2016-11-24
[room_id] => 2
)
)
)
我如何才能将项目的数量输入到
日\u id
请?您可以使用数组\u reduce
遍历数组项目并获得最终结果。看看:
$sum = 0;
foreach ($data as $booking) {
$sum += sizeof(explode(",",$booking["days"]["day_id"]));
}
更新
请注意,您还可以提供对
数组_过滤器的回调,以过滤出需要计数的条目,例如regex检查每个条目是否为有效日期。以下是。您可以使用array\u reduce
遍历数组项并获得最终结果。看看:
更新
请注意,您还可以提供对数组_过滤器的回调,以过滤出需要计数的条目,例如regex检查每个条目是否为有效日期。这是。$sum=0;
对于($count=0;$count$sum=0;
对于($count=0;$count
为什么我不能使用count函数?为什么我不能使用count函数?为什么我不能使用count函数?count()
仅对数组的第一级元素进行计数;而且,您似乎对字符串中的日期计数感兴趣,count()
无法处理。为什么我不能使用count函数?count()
只计算数组的第一级元素;而且,您似乎对字符串中count()
无法处理的日期计数感兴趣。
function reduce_func($carry, $item){
if (isset($item['days']) && !empty($item['days']['day_id'])){
$carry += count(array_unique(array_filter(explode(',', $item['days']['day_id']))));
}
return $carry;
}
$result = array_reduce($arr, "reduce_func", 0);
$sum =0;
for ($count = 0; $count < count($data); $count++) {
$booking = $data[$count];
$day_ids = explode(",", $booking['days']['day_id'];
$sum = $sum + count($day_ids);
}