2014-11-21 77 views
0

当我不得不单变量我使用了compact数组函数来创建包含变量和它们的值的数组,并通过它们循环,但现在我有多个变量中一个“小组”遍历:组变量和循环通过它们

$details_room_name_1 
$details_room_photo_1 
$details_room_capacity_seated_1 

$details_room_name_2 
$details_room_photo_2 
$details_room_capacity_seated_2 

$details_room_name_2 
$details_room_photo_2 
$details_room_capacity_seated_2 

我通过每一个“集团”要循环一次

loop 
    echo room name 
    print_r room photo array 
    echo capacity 
+1

您标记了这个'arrays',但您并未使用它们。当然,你应该这样做,如果你这样做,这将是微不足道的。 – 2014-11-21 04:45:33

+0

@JohnConde希望我能..这些是wordpress自定义字段(ACF),我无法控制它。 – 3zzy 2014-11-21 04:46:17

+0

为什么不用'wordpress'标记呢?这不相关吗? – Nerixel 2014-11-21 04:49:06

回答

1

的变量(室)使用阵列是更好地为这项任务(最好)的解决方案,但如果数据结构有像你写的一样(我不知道WordPress的),你可以美东时间。像这个丑陋的代码。

<?php 

$details_room_name_1 = 'room 1'; 
$details_room_photo_1 = 'photo 1'; 
$details_room_capacity_seated_1 = 1; 

$details_room_name_2 = 'room 2'; 
$details_room_photo_2 = 'photo 2'; 
$details_room_capacity_seated_2 = 5; 

$details_room_name_3 = 'room 3'; 
$details_room_photo_3 = 'photo 3'; 
$details_room_capacity_seated_3 = 8; 

for ($i = 1; $i <= 10; $i++) { 
    if (!isset(${'details_room_name_' . $i})) continue; 

    echo 'room name: ' . ${'details_room_name_' . $i} . '<br>'; 
    echo 'room photo: ' . ${'details_room_photo_' . $i} . '<br>'; 
    echo 'room capacity: ' . ${'details_room_capacity_seated_' . $i} . '<br><br>'; 
} 

/* 
    returns 

    room name: room 1 
    room photo: photo 1 
    room capacity: 1 

    room name: room 2 
    room photo: photo 2 
    room capacity: 5 

    room name: room 3 
    room photo: photo 3 
    room capacity: 8 
*/ 
+0

hmm..but计数到一个固定的整数'3'不理想 – 3zzy 2014-11-21 05:02:04

+0

当然,也有一个'for'循环,你不知道你有多少项目/间有吗?这不是数组,所以你不能使用'foreach'。 – panther 2014-11-21 05:13:17

+0

'if(!empty($ {'accommodation_room_name_'。$ i}))'在循环内怎么样? – 3zzy 2014-11-21 05:13:49