2013-10-16 37 views
0

我訪問使用,$array2[$arr[$count]]存儲在數組中的值。這完全打印出了我期望在PHP中使用echo的值。訪問動態列跨度值

的Bt當我把​​這個變成一個表列跨度它並沒有給我的期望。

echo '<td colspan=$array2[$arr[$count]]>'; 

如果有人知道,請讓我知道我已經犯過的錯誤......

+1

你是否看到了這個完全一樣的機會?嘗試將單引號改爲雙引號,或者甚至更好地將值先抓到單個變量,然後包含像這樣的'';帶簡單引號(')變量的 –

+0

不被解釋。您使用雙引號(「)。 – Kobi

+0

我寧願保留單引號並加入我的變量,因爲使用代碼突出顯示時,可以更輕鬆地查看變量的使用位置,因爲它們傾向於爲字符串拾取不同的顏色。 –

回答

3

的問題是,你使用單引號。變量值在使用單引號時不會插值。

使用雙引號,而不是(用大括號):

echo "<td colspan=\"{$array2[$arr[$count]]}\">"; 

或者單引號,用串聯:

echo '<td colspan="' . $array2[$arr[$count]] . '">'; 

或者,使用sprintf()(更整潔,在我看來) :

echo sprinf('<td colspan=%d>', $array2[$arr[$count]]); 

閱讀documentation瞭解更多信息。

+0

它的工作非常感謝你的幫助.... :) :) – Hiru

+0

@Hiru:不客氣:) –

1

你需要改變你的迴音代碼:

echo "<td colspan=$array2[$arr[$count]]>"; 

這是因爲單引號內的字符串從字面上解釋。 所以colspan將等於$array2[$arr[$count]]這顯然不是一個有效的值。

+0

爲什麼反對票?這是正確的答案... –

+0

第二部分僅僅是一個[我的回答(http://stackoverflow.com/a/19402227/1438393)。爲什麼要那樣做副本? –

+0

第一回答,只是說明明顯 - 刪除你的,因爲它不喜悅你... –