当我查看foreach循环的输出时,我得到了数组本身的多个副本。问题来自下面 exper3.php 的输出。这是我的代码:
文件 exper.php
<!DOCTYPE html>
<html>
<head><title>Multiple form with output</title></head>
<body>
<form action="exper1.php" method="POST">
Banyaknya nilai yang anda masukkan
<input type="text" name="nilai">
<input type="submit" name="kirim" value="kirim">
</form>
</body>
</html>
文件 exper1.php
<!DOCTYPE html>
<html>
<head><title>Multiple form with output</title></head>
<body>
<form action="exper1.php" method="POST">
Banyaknya nilai yang anda masukkan
<input type="text" name="nilai">
<input type="submit" name="kirim" value="kirim">
</form>
<br>
<form action="exper3.php" method="POST">
<?php
$nilai = $_POST['nilai'];
$wtf = $nilai/$nilai;
$i = $nilai + 1;
$counter = 1;
do {
echo "Nilai ke-";
echo $counter;
echo " : ";
echo "<input type='text' name='hasil[]'>";
echo "<br>";
$counter++;
$wtf++;
} while ($wtf<$i);
?>
<input type="submit" name="simpan" value="simpan">
</form>
</body>
</html>
文件 exper3.php
<!DOCTYPE html>
<html>
<head><title>Multiple form with output</title></head>
<body>
<form action="exper1.php" method="POST">
Banyaknya nilai yang anda masukkan
<input type="text" name="nilai">
<input type="submit" name="kirim" value="kirim">
</form>
<br>
<?php
$hasil = $_POST['hasil'];
$i=1;
foreach ($hasil as $value) {
echo "Nilai ke ".$i++." adalah ".join('<br>Nilai ke ' .$i++. ' adalah ', $hasil)."<br>";;
}
?>
</body>
</html>
输出
Output of file expert.php: First
Output of file exper1.php: Second
Output of file exper3.php: Third, the problem
exper3.php 的预期输出应如下所示:
Nilai ke 1 adalah 343
Nilai ke 2 adalah 732
Nilai ke 3 adalah 958
不喜欢这样:
Nilai ke 1 adalah 343
Nilai ke 2 adalah 732
Nilai ke 2 adalah 958
Nilai ke 3 adalah 343
Nilai ke 4 adalah 732
Nilai ke 4 adalah 958
Nilai ke 5 adalah 343
Nilai ke 6 adalah 732
Nilai ke 6 adalah 958
我的代码出了什么问题?感谢
答案 0 :(得分:0)
在这种情况下,join和foreach相互重复 - join已经在多个值上运行。
foreach ($hasil as $value) {
echo "Nilai ke ".$i++." adalah ".$value."<br />";
}
会给你想要的结果