2015-08-15 59 views
1

我有一個空的數組中的變量。我給它一個價值並回應它,但它仍然是空的。如何在稍後定義的字符串concat中使用變量?

這裏是我的代碼:

$arr = array('0' => '<a href="www.example.com/vote.php?id='.$end['id'].'">'); 

while($end = mysql_fetch_assoc($result)){ 

    $end['id']; // if I echo it, it will be a number, for e.g. 12 

    echo $arr[0]; // output: <a href="www.example.com/vote.php?id="> 
} 

爲什麼沒有被替換的變量?如何在陣列中使用$end['id'];

我想這樣的輸出:

<a href="www.example.com/vote.php?id=12"> 
+0

tldr;在* *賦值之前,不能在字符串concat中有用地使用變量。這個問題與數組無關,也可能以'$ result =' user2864740

+0

你的數組右括號''''你可以通過代碼中的高亮顯示來看你的問題,代碼有錯誤 – James

+0

@James抱歉,只是一個錯字 – Shafizadeh

回答

0

這裏是解決方案:

$arr = array('0' => '<a href="www.example.com/vote.php?id=%d">'); 
... 

echo sprintf($arr[0],$end['id']); 

輸出:

output: <a href="www.example.com/vote.php?id=12"> 
0

你可以簡單地用這種方式

$arr = array('0' => '<a href="www.example.com/vote.php?id='".$end['id']."'">'); 

可能它會幫助