#php #html #foreach
#php #HTML #foreach
Вопрос:
Просто говоря об изучении PHP, я хотел бы знать, могу ли я каким-либо образом объявить значение более 1 $ в цикле foreach? Я пытаюсь отобразить мои 8 различных типов массивов, которые я объявил ($ line0 — $line8). Прошу прощения, если мои коды немного запутаны. Я все еще новичок в PHP.
PHP-код
<?php
$handle = @fopen('listings.txt', "r");
$row = 0;
$count = 0;
$line0 = [];
$line1 = [];
$line2 = [];
$line3 = [];
$line4 = [];
$line5 = [];
$line6 = [];
$line7 = [];
$line8 = [];
if ($handle) {
while (!feof($handle)) {
$store = fgets($handle, 4096);
if ($row == 9){
$row = 0;
$count ;
}
if ($row == 0)
{
$line0[] = strval($store);
}
else if($row == 1) {
$line1[] = strval($store);}
else if($row == 2) {
$line2[] = strval($store);}
else if($row == 3) {
$line3[] = strval($store);}
else if($row == 4) {
$line4[] = strval($store);}
$row ;
}
?>
<table>
<tr>
<?php
foreach($line2 as $value1)amp;amp;(line3 as $value2){
echo "<td><b>Product ID: $value1</b>"
echo "<td><b>Selection ID: $value2</b>
</td>";
echo '</tr>';
}
?>
</table>
listings.txt
Cedric
93482812
cedric@hotmail.com
Guitar
---------------------------------------------
Wendy
98238432
wendy@hotmail.com
Guitar
---------------------------------------------
Ответ №1:
Нет, вы не можете этого сделать, но есть кое-что еще, что вы можете использовать. Все ваши массивы имеют ключи имен, и вы можете получить ключ с помощью foreach следующим образом:
foreach ($line1 as $key => $value1) {
$value2 = $line2[$key];
echo "<tr>";
echo "<td><b>Product ID: $value1</b></td>";
echo "<td><b>Selection ID: $value2</b></td>";
echo '</tr>';
}
Это очень близко к тому, чего вы хотите.
Комментарии:
1.при запуске возникает ошибка синтаксического анализа — ibb.co/6B6hh3T ibb.co/DkfDpVs
2. @Kinja Да, забыл точку с запятой. Неаккуратно. 😉