将变量分组并循环遍历它们

时间:2014-11-21 04:42:36

标签: php wordpress

当我只有单个变量时,我使用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

我想一次遍历变量的每个'GROUP'(房间)

loop
  echo room name
  print_r room photo array
  echo capacity

1 个答案:

答案 0 :(得分:1)

使用数组是更好(最好)的解决方案,但是如果数据结构必须像你写的那样(我不知道Wordpress),你可以使用st。喜欢这个丑陋的代码。

<?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
*/