Php 如果内部为内部为内部为内部

Php 如果内部为内部为内部为内部,php,Php,我有个问题 当我这样做时: <?php $ncarts = $_POST["ncarts"]; $npedras = $_POST["npedras"]; $quantidade_sorteada = $_GET["quantidade_sorteada"]; echo $quantidade_sorteada; ?> <?php $ncarts = $_POST["ncarts"]; $npedras = $_POST["npedras"]; $quantidade_sor

我有个问题

当我这样做时:

<?php
$ncarts = $_POST["ncarts"];
$npedras = $_POST["npedras"];
$quantidade_sorteada = $_GET["quantidade_sorteada"];
echo $quantidade_sorteada;
?>
<?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;
}
?>

我使用echo获得了正确的输出。 但是,当我这样做时:

<?php
$ncarts = $_POST["ncarts"];
$npedras = $_POST["npedras"];
$quantidade_sorteada = $_GET["quantidade_sorteada"];
echo $quantidade_sorteada;
?>
<?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;
}
?>

第一个回声停止工作。它告诉我在代码的第二部分有一个编程错误。但我找不到

有人帮帮我吗?? 谢谢


新代码:

<?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};

}

?>

不能生成如下变量:

$numeros_cartela$p
如果需要以数字结尾的变量,则必须执行以下操作:

$numeros_cartela{$p}
但是,使用阵列会让您受益匪浅:

// initialize the array
$numeros_cartela = array();
...
// use the array in your loop
$numeros_cartela[$p] = ...
$numeros_cartela[$p] = ...;

其他所有这样做的情况也是如此。

您的问题是这样的

$numeros_cartela$p = ...;
PHP不允许这种语法。使用数组:

// initialize the array
$numeros_cartela = array();
...
// use the array in your loop
$numeros_cartela[$p] = ...
$numeros_cartela[$p] = ...;

不能创建像$numeros\u cartela$p和$sorted$k这样的变量


您可以使用数组存储值,然后迭代它们以获得值

如果它告诉你你有错误,请发布具体的错误。我想“编程错误”是保密的?
它告诉我我有一个编程错误
你希望我们猜到错误,对吗?我猜错误是这样的:
解析错误:语法错误,意外的T_变量,期望','或';'第X行
,对应于echo$contador\u pontos\u cartela$oi。投票结束。我有一个错误。我编程失败了。明白吗?!谢谢,我试试这个。我这里有数组$numeros_cartela{$p}=文件(“cartela{$p}.txt”);我的想法:$numeros_cartela1=cartela1的第1行。txt@WithoutNameZin不,
$numeros_cartela{$p}
是正常变量。您可以使用
$numeros_cartela[$p]=file(“cartela{$p}.txt”)生成多维数组。如下:$numeros_cartela=array()$排序=数组()$contador_pontos_cartela=array()?