在PHP嘗試評估其真值之前是否可以展開/替換變量?在PHP中,如何在評估之前替換字符串變量?
我試圖編寫一個Wordpress模板,根據我們所在的頁面執行不同的查詢。如果我們在主頁上,查詢應該是這樣的:
while ($postlist->have_posts()) : $postlist->the_post();
// code...
如果我們沒有在主頁上,查詢應該是這樣的:
while (have_posts()): the_post();
// code...
所以我想我會試試這個:
$query_prefix = (is_front_page()) ? '$postlist->' : '';
$query_condition = $query_prefix.'have_posts()';
$query_do = $query_prefix.'the_post()';
while ($query_condition): $query_do;
// code...
問題是,這是創造一個無限循環,因爲$query_condition
是一個字符串,計算結果爲TRUE。似乎PHP從不'讀取'變量的內容。我需要我的變量直接擴展自己,然後才提供自己的評估。任何人都可以告訴我如何做到這一點?
不是我能說的。根據var_dump(),它是一個字符串,只是長短不一。所以它總是會評估爲「設置」,或者是真的。 –