我正面臨一個奇怪的問題。 我的PHP頁面有以下代碼。你能告訴我爲什麼HTML DIV在PHP函數執行回聲之前關閉了嗎?
echo "<div id='page_$i' class='layout_pages'>".eval('?>' . $layouts[$i]. '<?php ')."</div>";
這裏$ i是我的迭代器,$ layouts是一個數組,其中包含從數據庫中獲取的多個佈局。有些佈局在其中包含PHP代碼。這就是爲什麼我使用eval函數。
現在的問題是,這種代碼的HTML輸出是類似的東西
<div id='page_$i' class='layout_pages'></div>
//Layout output goes here
理想的佈局時,應當被包裹在這個DIV。但Div在佈局之前開始和關閉。你能建議我一些好的解決方案嗎?
[解決]
好隊友,我通過在代碼以下更改解決了這個問題。而是在一個echo語句中顯示所有數據。我使用了多個回顯命令,現在一切正常。非常感謝您的建議。
<div id='page_<?php echo $i; ?>' class='layout_pages' ><?php echo eval('?>' . $layouts[$i]. '<?php '); ?></div>;
正如我敦100分。所以不能回答我自己的問題。這就是爲什麼我編輯我的問題:)
這是利用我所見過的eval最奇怪的嘗試之一。你想用它達到什麼目的?它看起來像你正在試圖獲取一個字符串,並從它建立一個PHP腳本,而不需要修改就輸出它,然後再評估它,以便再次獲得原始字符串。 – Quentin
其實我在$ layouts數組中有一些PHP代碼。這就是爲什麼我需要使用這個功能。井端輸出是簡單的HTML代碼。 –
如果您將PHP代碼放在一個數組中並對其進行評估,那麼您做錯了。 – Skilldrick