Используйте разные переменные массива в одной таблице HTML для отображения данных - PullRequest
0 голосов
/ 06 марта 2020

Я хочу вывод трех таких массивов, как этот, в таблице HTML. Я застрял в этой проблеме с 7 до 8 дней. Здесь я пишу этот код c с выводом HTML, чтобы вы, ребята, могли легко получить то, что я пытаюсь сделать здесь. Когда я пытаюсь использовать для каждого, то начинается цикл с дублирующимися значениями. Мой PHP код - -

<?php 

 $variable1 = array(
        array(
        'name' => 'Jack',
        'roll' => '123',
        'class' => '4th',
        ),  
        array(
        'name' => 'Hena',
        'roll' => '124',
        'class' => '4th',
        ),
        array(
        'name' => 'Jesse',
        'roll' => '125',
        'class' => '4th',
        ),
        array(
        'name' => 'Tyson',
        'roll' => '126',
        'class' => '4th',
        )       
        );
 $variable2 = array(
        array(
        'father_name' => 'John',
        'phone_number' => 'xxx-xxx-xxxx',
        ),  
        array(
        'father_name' => 'Patrick',
        'phone_number' => 'xxx-xxx-xxxx',
        ),
        array(
        'father_name' => 'Michale',
        'phone_number' => 'xxx-xxx-xxxx',
        ),
        array(
        'father_name' => 'Dave',
        'phone_number' => 'xxx-xxx-xxxx',
        )       
        );
   $variable3 = array(
        array(
        'marks' => '89',
        'sub' => 'English',
        ),  
        array(
        'marks' => '56',
        'sub' => 'Math',
        ),  
        array(
        'marks' => '79',
        'sub' => 'Moral Education',
        ),  
        array(
        'marks' => '88',
        'sub' => 'English',
        )   
        );          

?>

и HTML таблица - -

table, th, td {
      padding: 10px;
      border: 1px solid black; 
      border-collapse: collapse;
      }
<table>
	<thead>
		<th>Name</th>
		<th>Father Name</th>
		<th>Subject</th>
		<th>Marks</th>
	</thead>
		<tr>
			<td>Jack</td>
			<td>John</td>
			<td>English</td>
			<td>89</td>
		</tr>
		<tr>
			<td>Hena</td>
			<td>Patrick</td>
			<td>Math</td>
			<td>56</td>
		</tr>
		<tr>
			<td>Jesse</td>
			<td>Michale</td>
			<td>Moral Education</td>
			<td>79</td>
		</tr>
		<tr>
			<td>Tyson</td>
			<td>Dave</td>
			<td>English</td>
			<td>88</td>
		</tr>
	<tfoot>
		<th>Name</th>
		<th>Father Name</th>
		<th>Subject</th>
		<th>Marks</th>
	</tfoot>
</table>

1 Ответ

0 голосов
/ 06 марта 2020

В этом примере кода я использовал от for loop до l oop через каждый index первого массива. При этом для l oop распечатываются четыре значения с фактическим индексом. (<?= is equal to <?php echo). Тернарный оператор (?:) подобен короткому выражению if else. Прежде чем распечатать значения ваших массивов, он проверяет, установлены ли они для предотвращения уведомлений о неопределенных индексах.

<table>
    <thead>
        <th>Name</th>
        <th>Father Name</th>
        <th>Subject</th>
        <th>Marks</th>
    </thead>
    <?php for( $index = 0; $index < count($variable1); $index++ ) { ?>
      <tr>
        <td><?= isset($variable1[$index]['name']) ? $variable1[$index]['name'] : ''; ?></td>
        <td><?= isset($variable2[$index]['father_name']) ? $variable2[$index]['father_name'] : ''; ?></td>
        <td><?= isset($variable3[$index]['sub']) ? $variable3[$index]['sub'] : ''; ?></td>
        <td><?= isset($variable3[$index]['marks']) ? $variable3[$index]['marks'] : ''; ?></td>
      </tr>
    <?php } ?>
    <tfoot>
        <th>Name</th>
        <th>Father Name</th>
        <th>Subject</th>
        <th>Marks</th>
    </tfoot>
</table>
...