PHP循环问题

时间:2010-01-14 15:31:12

标签: php

回声“”;     while(list($ key,$ val)= each($ users)){     echo“$ val \ n \ n”;     }     echo“”;     while(list($ key2,$ val2)= each($ enable)){     echo“$ val2 \ n \ n”;     }     echo“”;

我想将其格式化为并排表格,应该是

$val $val2

目前正在

$val
$val2

我应该修改什么来实现这个目标?

感谢您的帮助。

6 个答案:

答案 0 :(得分:1)

只需制作一个while()循环并回显<tr><td>val</td><td>val2</td></tr>部分

答案 1 :(得分:1)

你需要做一些技巧同时遍历两个数组,因为它们需要在同一行:

echo '<table>';
$user_count = count($users);
$enable_count = count($enable);
$max = max($user_count, $enable_count );
for ($i = 0; $i < $max; $i ++) {
    $val = '&nbsp;';
    $val2 = '&nbsp;';
    if ($i < $user_count) $val = $users[$i];
    if ($i < $enable_count) $val2 = $enable[$enable];
    echo "<tr><td>$val</td><td>$val2</td></tr>";
}
echo '</table>';

答案 2 :(得分:1)

我想我现在正在尝试做什么。有什么效果吗?:

echo "<table>";
while (list ($key, $val) = each ($users)) {
list ($key2, $val2) = each ($enable);
echo "<tr><td>$val</td>";
echo "<td>$val2</td></tr>";
}
echo "</table>";

答案 3 :(得分:1)

如果你想在一行上使用user / enable格式,然后在下一行使用/ enable,你需要先做一些数组工作,这样你就可以在同一个循环中获取它们。

echo "<table>";
foreach(array_combine($users, $enable) as $u => $e){
   echo "<tr><td>$u</td><td>$e</td></tr>\n\n";
}
echo "</table>";

答案 4 :(得分:0)

假设您的键是从0开始的整数:

,您可以将其压缩为单个循环以获得最佳性能
$len = min(count($users), count($enable));
if ($len > 0) {
    echo '<table>';
    for ($i = 0; $i < $len; ++$i) {
        echo '<tr><td>' . $users[$i] . '</td><td>' . $enable[$i] . '</td></tr>';
    }
    echo '</table>';
}

答案 5 :(得分:0)

嗯,你可以在for循环中做到这一点,这很聪明且可读

echo "<table><tr>";
for($u=0;$e=0;$u<count($users),$e<count($enable);$i++,$u++)
{
echo "<td>$users[$u]['idntknowthekeysethere']</td></tr>\n\n";
echo "<td>$enable[$e]['idntknowthekeysethere']</td></tr>\n\n";
}

echo "</tr></table>";