Я читал об этой функции на php.net, и там до сих пор нет ответа на мой вопрос. Я знаю немного C для начинающих, и я только начал использовать php. Обычно в C, если вы должны были выполнить цикл while, должно быть какое-то условие, чтобы продвинуть цикл до точки, где он больше не будет действительным, например :
while (x >= 10)
{
printf("...";
printf("x \n";
x++;
}
. Однако в моем php-скрипте, который я использую для pm-сообщения system У меня есть цикл while, подобный этому :
while($row2 = mysql_fetch_array($query))
, за которым следует:
{
echo "<table border=1>";
echo "<tr><td>";
echo "Message #: ";
echo $row['id'];
echo "</td></tr>";
echo "<tr><td>";
echo "To: ";
echo $row['to'];
echo "</td></tr>";
echo "<tr><td>";
echo "From: ";
echo $row['from'];
echo " ";
echo "</td></tr>";
echo "<tr><td>";
echo "Message: ";
echo $row['message'];
echo "</td></tr>";
echo "</br>";
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<table border="0">
<tr><td colspan=2></td></tr>
<tr><td></td><td>
<input type="hidden" name="id" maxlength="32" value = "<?php echo $row['id']; ?>">
</td></tr>
<tr><td colspan="2" align="right">
<input type="submit" name="delete" value="Delete PM # <?php echo $row['id']; ?>">
</td>
<td colspan="2" align="right">
<input type="submit" name="reply" value="Reply to <?php echo $row['from']; ?>">
</td></tr>
</table>
<?php } ?>
Как именно это работает, на фоне C может показаться, что это останется на том же месте, распечатав ту же строку «выборки массива» из одного и того же "$query" каждый раз, когда мы проходим через цикл....
Есть ли способ написать это, чтобы дать мне лучшее логическое понимание того, что происходит? например сказать:
$i=0;
while ($row = ($i+mysql_fetch_array($query)) {
...
...
$i++;}
Я знаю, что это, вероятно, не сработает, но как эта функция увеличивает себя? И есть ли способ написать это так, чтобы в коде действительно было видно какое-то приращение?
Спасибо