我有问题;
当我这样做时:
<?php
$ncarts = $_POST["ncarts"];
$npedras = $_POST["npedras"];
$quantidade_sorteada = $_GET["quantidade_sorteada"];
echo $quantidade_sorteada;
?>
我使用echo有正确的输出。 但是,当我这样做时:
<?php
$ncarts = $_POST["ncarts"];
$npedras = $_POST["npedras"];
$quantidade_sorteada = $_GET["quantidade_sorteada"];
echo $quantidade_sorteada;
for ($p=1; $p<=$ncarts; $p++) {
$numeros_cartela$p = file ("cartela{$p}.txt");
}
for ($k=1; $k<=$quantidade_sorteada; $k++) {
$sorted$k = $_GET["numero$k"];
}
for ($p=1; $p<=$ncarts; $p++) {
$contador_pontos_cartela$p = 0;
for ($g=1; $g<=$quantidade_sorteada; $g++) {
foreach ($numeros_cartela$p as $w) {
if ($w == $sorted$g) {
$contador_pontos_cartela$p += 1;
}
}
}
}
for ($oi=1; $oi<=$ncarts; $oi++) {
echo $contador_pontos_cartela$oi;
}
?>
第一个回声停止工作。它告诉我,我在代码的第二部分有一个prgramming错误。但我无法找到。
有人帮帮我吗? 谢谢新代码:
<?php
$ncarts = $_POST["ncarts"];
$npedras = $_POST["npedras"];
$quantidade_sorteada = $_GET["quantidade_sorteada"];
echo $quantidade_sorteada;
for ($p=1; $p<=$ncarts; $p++) {
$numeros_cartela[$p] = file ("cartela{$p}.txt");
}
for ($k=1; $k<=$quantidade_sorteada; $k++) {
$sorted[$k] = $_GET["numero$k"];
}
for ($p=1; $p<=$ncarts; $p++) {
$contador_pontos_cartela{$p} = 0;
for ($g=1; $g<=$quantidade_sorteada; $g++) {
foreach ($numeros_cartela[$p] as $w) {
if ($w == $sorted[$g]){
$contador_pontos_cartela{$p} += 1;
}
}
}
}
for ($oi=1; $oi<=$ncarts; $oi++) {
echo $contador_pontos_cartela{$oi};
}
?>
答案 0 :(得分:3)
您无法生成如下变量:
$numeros_cartela$p
如果您需要一个以数字结尾的变量,则必须执行以下操作:
$numeros_cartela{$p}
但是使用数组会更好:
// initialize the array
$numeros_cartela = array();
...
// use the array in your loop
$numeros_cartela[$p] = ...
对于你这样做的所有其他实例都是一样的。
答案 1 :(得分:0)
您的问题与
类似$numeros_cartela$p = ...;
PHP不允许这样的语法。使用数组:
$numeros_cartela[$p] = ...;
答案 2 :(得分:0)
无法创建变量,如$ numeros_cartela $ p和$ sorted $ k。
您可以使用数组存储值,然后迭代它们以获取值。