PHP循环问题

PHP循环问题,php,Php,回声“; while(列表($key,$val)=每个($users)){ 回显“$val\n\n”; } 回声“; while(list($key2,$val2)=每个($enable)){ 回显“$val2\n\n”; } 回声“ 我想把它格式化成表格,并排放在应该放的地方 $val $val2 目前它在 $val $val2 我应该修改什么来实现这一点 感谢您的帮助。只需制作一个while()循环并回显valval2部分即可由于两个数组需要在同一行上,您需要做一些技巧来同时循环两个数

回声“; while(列表($key,$val)=每个($users)){ 回显“$val\n\n”; } 回声“; while(list($key2,$val2)=每个($enable)){ 回显“$val2\n\n”; } 回声“

我想把它格式化成表格,并排放在应该放的地方

$val $val2
目前它在

$val
$val2
我应该修改什么来实现这一点


感谢您的帮助。

只需制作一个
while()
循环并回显
valval2
部分即可由于两个数组需要在同一行上,您需要做一些技巧来同时循环两个数组:

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>';
echo';
$user\u count=计数($users);
$enable_count=计数($enable);
$max=max($user\u count,$enable\u count);
对于($i=0;$i<$max;$i++){
$val='';
$val2='';
如果($i<$user_count)$val=$users[$i];
如果($i<$enable_count)$val2=$enable[$enable];
回显“$val$val2”;
}
回声';

我想我知道你现在想做什么了。有这样的事吗

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>";
echo”“;
while(列表($key,$val)=每个($users)){
列表($key2,$val2)=每个($enable);
回音“$val”;
回声“$val2”;
}
回声“;

假设密钥是从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>';
}
$len=min(计数($users),计数($enable));
如果($len>0){
回声';
对于($i=0;$i<$len;++$i){
回显“.$users[$i]”.$enable[$i]”;
}
回声';
}

如果希望在一行设置user/enable格式,然后在下一行设置user/enable格式,则需要先执行一些数组工作,以便将它们放在同一个循环中

echo "<table>";
foreach(array_combine($users, $enable) as $u => $e){
   echo "<tr><td>$u</td><td>$e</td></tr>\n\n";
}
echo "</table>";
echo”“;
foreach(数组_组合($users,$enable)为$u=>$e){
回显“$u$e\n\n”;
}
回声“;

嗯,你可以在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>";
echo”“;

对于($u=0;$e=0;$uDo您希望所有用户都在一行,然后所有用户都在下一行启用吗?还是希望用户/启用在一行,然后用户/启用在下一行?我的问题是,为什么要为
$users
$enable
使用两个单独的数组?似乎您应该与我们一起拥有一个多维数组呃,不管它们是否被启用……这是比较安全的:echo”“;而(list($key,$val)=each($users)){echo“$val”;如果(list($key,$val2)=each($enable))echo“$val2”;echo”“;}echo”“;这将不起作用,除非$users和$enable具有通常不存在的相同索引或键,看看我的循环是否很酷?