<table border="2">
<?php
foreach($array1 as $value)
{
echo '<tr><td>';
echo $value;
echo '</td></tr>';
}
?>
</table>
我有更多数组:array2,array3。 上面的代码只执行array1的值,但我希望同一个表中所有数组的所有值都在不同的列中!
array1 | array2 | array3
------------------------
| |
| |
| |
| |
我想要这样的东西...... 我尝试修改代码,但不知道如何正确执行。
$data = mysql_query(" SELECT * FROM user_pokemon_db WHERE user_id = '".$id."' ");
while($rows = mysql_fetch_assoc($data)) {
$db_id = $rows['id'];
$array[] = $db_id;
$level = $rows['level'];
$array1[] = $level;
$exp = $rows['exp'];
$array2[] = $exp;
$pkmn_id = $rows['pkmn_id'];
$data1 = mysql_query(" SELECT * FROM pokemons WHERE pk_id = '".$pkmn_id."' ");
while($rows = mysql_fetch_assoc($data1)) {
$poke = $rows['path']; $array3[] = $poke;
}
}
上面的代码从数据库中提取数据并将其添加到不同的数组中!
答案 0 :(得分:2)
创建阵列时,您不需要指定键,因此它们会自动生成。因此,您可以处理for循环的键,而不是使用值中的foreach:
我们可以在您的代码中看到$ array3比其他人更长。所以我们将基于它:
foreach($array3 as $key => $value)
{
if (isset($array1[$key])){
echo '<tr><td>'.$array1[$key].'</td>';
}else{
echo '<tr><td></td>';
}
if (isset($array2[$key])){
echo '<td>'.$array2[$key].'</td>';
}else{
echo '<td></td>';
}
echo '<td>'.$array3[$key].'</td></tr>';
}
应该有效
答案 1 :(得分:1)
尝试制作一个最终调用自身的函数。不确定我是否在这里得到了语法,但这应该有效。
$i = 0;
function test($i){
if($i < ar1.lenght && $i < ar2.lenght && $i< ar3.lenght){
echo "<tr><td>";
echo ar1[$i];
echo "</td><td>";
echo ar2[$i];
echo "</td><td>";
echo ar3[$i];
echo "</td></tr>";
$i++;
//calls itself with an incremented $i
test($i);
}//else do nothing.
}
- 编辑忘了一些标签