Я пытаюсь создать таблицу с использованием PHP.
По какой-то причине я не могу отобразить ключ. Любая идея почему?
Вот таблица.
Вот мой код, который я пробовал:
<table> <?php $users = array( array('first_name' => 'RS', 'last_name' => 'AD'), array('first_name' => 'SQ', 'last_name' => 'FS'), array('first_name' => 'SA', 'last_name' => 'Guillen'), array('first_name' => 'AS', 'last_name' => 'Gs') ); $array_number = count($users)-1; foreach($users as $key => $user) { for($i=0; $i<=$array_number; $i++){ echo $users[$i]['first_name'].' '. $users[$i]['last_name'].'<br>'; } } ?> </table>
Есть идеи?
Попробуй это
<table> <tr> <th>User #</th> <th>First Name</th> <th>Last Name</th> <th>Full Name</th> <th>Full Name in UpperCase</th> </tr> <?php $users = array( array('first_name' => 'Michael', 'last_name' => 'Choi'), array('first_name' => 'John', 'last_name' => 'Supsupin'), array('first_name' => 'Mark', 'last_name' => 'Guillen'), array('first_name' => 'KB', 'last_name' => 'Tonel') ); foreach ($users as $key => $user) { echo "<tr>"; echo "<td>" , $key + 1 , "</td>"; echo "<td>" . $user['first_name'] . "</td>"; echo "<td>" . $user['last_name'] . "</td>"; echo "<td>" . $user['first_name'] . " " . $user['last_name'] . "</td>"; echo "<td>" . strtoupper($user['first_name']) . " " . strtoupper($user['last_name']) . "</td>"; echo "<td></td>"; echo "</tr>"; } ?> </table>
Краткое объяснение:
Как вы показали в своем образе, вам необходимо определить предопределенные заголовки, которые можно выполнить с помощью <th></th>
а остальные значения, которые вы получали из массива $users
который может быть помещен в цикл.
Примечание. Здесь вам нужно использовать одиночные петли, а не вложенные петли, как показано в примере
Проблема в том, что вы дважды перебираете массив, один раз с foreach
и внутри этого с помощью for
. Но вам нужен только один цикл. Выбери один.
Кроме того, привычка всегда использовать htmlspecialchars
при повторении содержимого переменной. В этом случае это не имеет значения, но иногда вы не знаете, где была переменная!
Также см. Ответ Амола.
Вы должны использовать <tr>
и <td>
.
<table border="1"> <?php $users = array( array('first_name' => 'Michael', 'last_name' => 'Choi'), array('first_name' => 'John', 'last_name' => 'Supsupin'), array('first_name' => 'Mark', 'last_name' => 'Guillen'), array('first_name' => 'KB', 'last_name' => 'Tonel') ); $array_number = count($users)-1; for($i=0; $i<=$array_number; $i++){ ?> <tr> <td><?php echo $users[$i]['first_name']; ?></td><td><?php echo $users[$i]['last_name']; ?></td> </tr> <?php } ?> </table>
<table> <?php $users = array( array('first_name' => 'Michael', 'last_name' => 'Choi'), array('first_name' => 'John', 'last_name' => 'Supsupin'), array('first_name' => 'Mark', 'last_name' => 'Guillen'), array('first_name' => 'KB', 'last_name' => 'Tonel') ); $i = 1; foreach($users as $key => $user) { echo "<tr>"; echo "<td>" . $i . "</td>"; echo "<td>" . $user['first_name'] . "</td>"; echo "<td>" . $user['last_name'] . "</td>"; echo "</tr>"; $i++; } ?> </table>
Надеюсь, что это поможет
<table> <tr> <th>User #</th> <th>First Name</th> <th>Last Name</th> <th>Full Name</th> <th>Full Name in UpperCase</th> </tr>
<?php $users = array( array('first_name' => 'Michael', 'last_name' => 'Choi'), array('first_name' => 'John', 'last_name' => 'Supsupin'), array('first_name' => 'Mark', 'last_name' => 'Guillen'), array('first_name' => 'KB', 'last_name' => 'Tonel') );
foreach ($users as $key => $user) { echo "<tr>"; echo "<td>" , $key + 1 , "</td>"; echo "<td>" . $user['first_name'] . "</td>"; echo "<td>" . $user['last_name'] . "</td>"; echo "<td>" . $user['first_name'] . " " . $user['last_name'] . "</td>"; echo "<td>" . strtoupper($user['first_name']) . " " . strtoupper($user['last_name']) . "</td>"; echo "<td></td>"; echo "</tr>"; } ?>
`