我真的需要帮助来获得我的数组的值的总和,我已经尝试研究如何解决这个问题,但我最终得到的错误就像使用array_sum()但最终在array_sum中期望1个参数是数组,并且试过$value3 = $value3并得到一个结果但不正确,顺便说一下这里是我的代码:
var_export($_POST['guests']);
echo "
";
foreach($_POST['guests'] As $key1 => $value1){
foreach($value1 As $key2 => $value2){
foreach($value2 As $value3){
}
}
echo "Room Type: " . $key1 . " No. of Rooms: " . $key2 . " No. of Guest: " . array_sum($value3) . "
";
}
这是结果:
array ( 1 => array ( 2 => array ( 0 => '1', 1 => '2', ), ), 2 => array ( 1 => array ( 0 => '4', ), ), )
Warning: array_sum() expects parameter 1 to be array, string given in C:\xampp\htdocs\nation\reservation-form3.php on line 14
Room Type: 1 No. of Rooms: 2 No. of Guest:
Warning: array_sum() expects parameter 1 to be array, string given in C:\xampp\htdocs\nation\reservation-form3.php on line 14
Room Type: 2 No. of Rooms: 1 No. of Guest:
解决方法:
我想你想要这样
$_POST['guests'] = array (
// RoomType => ( RoomNum => ( GuestList
// though i don't understand why guests in room are array
// But no. of room can't be zero :)
1 => array ( 2 => array ( 0 => '1', 1 => '2', ), ),
2 => array ( 1 => array ( 0 => '4', ), ), );
echo "
";
foreach($_POST['guests'] As $key1 => $value1) // Loop with RoomType
foreach($value1 As $key2 => $value2) // Loop with RoomNum
echo "Room Type: " . $key1 .
" No. of Rooms: " . $key2 .
" No. of Guest: " . array_sum($value2) . "
";
结果
Room Type: 1 No. of Rooms: 2 No. of Guest: 3
Room Type: 2 No. of Rooms: 1 No. of Guest: 4
标签:php,arrays,multidimensional-array
来源: https://codeday.me/bug/20190528/1169878.html