2014-11-21 124 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