我怀疑在 php 数组中获取数组键值并计算 php 数组中重复的相同键。这里我通过一个变量发布我的数组对象输出,我正在获取这些数据。这里我的要求是在这个数组中,我有 [room_type] 和 [meal_type]。
这里 [room_type] => APARTMENT ONE BEDROOM 是这个数组中的 3 次。所以我需要的结果是 3 x APARTMENT ONE BEDROOM 这里 [room_type] => APARTMENT TWO BEDROOM 是这个数组中的 2 次。所以我需要的结果是 2 x APARTMENT TWO BEDROOM 这里 [room_type] => APARTMENT THREE BEDROOM 是 1 次出现在这个数组中。所以我要求的结果是 1 x APARTMENT THREE BEDROOM
$room_details =
Array
(
[0] => stdClass Object
(
[id] => 4508
[api] => hotelbeds
[room_no] => 1
[room_type] => APARTMENT ONE BEDROOM
[meal_type] => ONE ROOM
[updated_on] => 2019-01-16 13:03:17
)
[1] => stdClass Object
(
[id] => 4509
[room_no] => 2
[room_type] => APARTMENT TWO BEDROOM
[meal_type] => TWO ROOMS
[updated_on] => 2019-01-16 13:03:09
)
[2] => stdClass Object
(
[id] => 4510
[room_no] => 3
[room_type] => APARTMENT ONE BEDROOMS
[meal_type] => TWO ROOMS
[updated_on] => 2019-01-16 13:03:38
)
[3] => stdClass Object
(
[id] => 4511
[room_no] => 3
[room_type] => APARTMENT TWO BEDROOMS
[meal_type] => TWO ROOMS
[updated_on] => 2019-01-16 13:03:38
)
[4] => stdClass Object
(
[id] => 4512
[room_no] => 3
[room_type] => APARTMENT THREE BEDROOMS
[meal_type] => THREE ROOMS
[updated_on] => 2019-01-16 13:03:38
)
[5] => stdClass Object
(
[id] => 4513
[room_no] => 3
[room_type] => APARTMENT ONE BEDROOMS
[meal_type] => ONE ROOM
[updated_on] => 2019-01-16 13:03:38
)
)
这个结果我想像这样显示在一个 div 标签中。
<div class="roomtype">
<p>
3 x APARTMENT ONE BEDROOM
2 x APARTMENT TWO BEDROOM
1 x APARTMENT THREE BEDROOM
</p>
</div>
[meal_type] => ONE ROOM 进入这个数组 2 次所以结果是 2 x ONE ROOM [meal_type] => 两个 ROOMS 进入这个数组 3 次所以结果是 3 x TWO ROOMS [meal_type] => 三个房间进入这个数组 1 次所以结果是 1 x 三个房间 这个结果我想在另一个 Div 标签中显示这样。
<div class="mealtype">
<p>
2 x ONE ROOM
3 x TWO ROOMS
1 x THREE ROOMS
</p>
</div>
我试过下面的代码不起作用,任何人都可以帮忙解决这个问题。
For Meal Type
--------------
$countedValues = array_count_values($room_details->meal_type);
//Build strings from value and display them.
foreach( $countedValues as $roomType=>$count ){
echo $count . ' x ' . $Mealtype . '<br />';
}
For Room Type
--------------
$countedValues = array_count_values($room_details->room_type);
//Build strings from value and display them.
foreach( $countedValues as $roomType=>$count ){
echo $count . ' x ' . $roomType . '<br />';
}
你好尼兰詹,
您可以遍历数组并按如下方式计算这些数据,
<?php
$room_details = array(
array(
"id" => 4508,
"api" => "hotelbeds",
"room_no" => 1,
"room_type" => "APARTMENT ONE BEDROOMS",
"meal_type" => "ONE ROOM",
"updated_on" => "2019-01-16 13:03:17"
),
array(
"id" => 4509,
"room_no" => 2,
"room_type" => "APARTMENT TWO BEDROOMS",
"meal_type" => "TWO ROOMS",
"updated_on" => "2019-01-16 13:03:09"
),
array(
"id" => 4510,
"room_no" => 3,
"room_type" => "APARTMENT ONE BEDROOMS",
"meal_type" => "TWO ROOMS",
"updated_on" => "2019-01-16 13:03:38"
),
array(
"id" => 4511,
"room_no" => 3,
"room_type" => "APARTMENT TWO BEDROOMS",
"meal_type" => "TWO ROOMS",
"updated_on" => "2019-01-16 13:03:38"
),
array(
"id" => 4512,
"room_no" => 3,
"room_type" => "APARTMENT THREE BEDROOMS",
"meal_type" => "THREE ROOMS",
"updated_on" => "2019-01-16 13:03:38"
),
array(
"id" => 4513,
"room_no" => 3,
"room_type" => "APARTMENT ONE BEDROOMS",
"meal_type" => "ONE ROOM",
"updated_on" => "2019-01-16 13:03:38"
)
);
$room_types = [];
$meal_types = [];
foreach($room_details as $k => $v) {
if(!array_key_exists($v["room_type"], $room_types)) {
$room_types[$v["room_type"]] = 1;
} else {
$room_types[$v["room_type"]] = $room_types[$v["room_type"]] + 1;
}
if(!array_key_exists($v["meal_type"], $meal_types)) {
$meal_types[$v["meal_type"]] = 1;
} else {
$meal_types[$v["meal_type"]] = $meal_types[$v["meal_type"]] + 1;
}
}
print_r($room_types);
print_r($meal_types);
?>
现在您可以访问这些数组以获取计数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句