2016-02-19 159 views
1

所以我有以下代码工作并输出信息,比如说2 11。我想$keyidcall增量变量名,所以$keyidcall2, $keyidcall3.......与额外的变量,我希望变量保持正确的值,所以我可以稍后调用它。所以预计产量将为$Apiammount ="2"; echo $keyidcall;将回声2 echo $keyidcall:将回声11Php可变增量

while($Apiammount > 1){ 
    $Keyidquery = mysqli_query($connection, "SELECT ID FROM `Characterapi` WHERE UserId = '$Idcall'"); 
    while($keyid = mysqli_fetch_assoc($Keyidquery)){ 
     $keyidcall = $keyid['ID']; 
     echo $keyidcall; 
    } 

    $Apiammount--; 
} 
+1

任何时候你发现自己使用这样的编号变量,你几乎总是应该使用一个数组。 – Barmar

+0

@Barmar我不认为我知道*任何*需要它 –

+0

我也没有,但我尽量避免绝对。 – Barmar

回答

1

更好的方式来做到这一点是将值存储在阵列中。

$keyidcall[] = $keyid['ID'];

然后你可以稍后再引用它们作为

echo $keyidcall[0]; echo $keyidcall[1];

的顺序,他们在被输入。

或者,如果你想更具体的是指什么通过,你可以使用

$keyidcall[$Apiammount] = $keyid['ID'];

那么你会称他们为:

echo $keyidcall[<apiamount>];

假设你知道这是什么会。

+1

因此,realiising后,我需要创建阵列这工作AMAYAZINGLY。 TY –

+0

不用担心,欢迎来到stackoverflow! –

+0

现在有没有办法我可以使用$ keyidcall []在msqli查询中,我可以做$ keyidcall [0] = 3在我的msqli查询调用使用三,我可以循环它吗? –

0

可以做:

$i = 0; 
while($foo){ 
    $name = 'keyidcall'; 
    $i++; 
    $newvar = $name . $i; 
    echo $$newvar; 
} 

而且$$ newvar将回声 “keyidcallX”,其中X是一个递增值的值。不知道这是你的意思。