我有這行代碼:<?php global $bp; query_posts('author=$bp->displayed_user->id'); if (have_posts()) : ?>
但它不能按預期方式工作。可能是因爲它沒有正確抓取$bp->displayed_user->id
部件。我該怎麼做?PHP幫助使用內部變量代碼
感謝
我有這行代碼:<?php global $bp; query_posts('author=$bp->displayed_user->id'); if (have_posts()) : ?>
但它不能按預期方式工作。可能是因爲它沒有正確抓取$bp->displayed_user->id
部件。我該怎麼做?PHP幫助使用內部變量代碼
感謝
而不是內聯變量的內容。 (這是使用單引號和雙引號之間的主要區別有PHP strings手冊頁的讀取更多的信息。)
爲了解決這個問題,嘗試兩種:
query_posts('author=' . $bp->displayed_user->id);
或
query_posts("author={$bp->displayed_user->id}");
也就是說,我會親自推薦第一種方法,因爲它更明確發生了什麼事情。
<?php global $bp; query_posts('author=' . $bp->displayed_user->id); if (have_posts()) : ?>
在單引號字符串變量將不會擴大。在此處查看文檔:http://php.net/manual/en/language.types.string.php
使用單引號會導致PHP無法獲取變量值。 而不是使用單引號的,你可以使用雙引號:
<?php
global $bp;
query_posts("author={$bp->displayed_user->id}"); if (have_posts()) :
?>
還是這樣(我THIK是更好):因爲它的治療'author=$bp->displayed_user->id'
作爲一個字符串它不工作
<?php
global $bp;
query_posts('author=' . $bp->displayed_user->id); if (have_posts()) :
?>
請注意,您的第一個解決方案不起作用。 「$ a-> b」有效,但「$ a-> b-> c」不起作用。不知道爲什麼。 – Tomik 2011-02-05 14:33:37
我沒跟着。那麼我如何將id傳給作者位呢? – Cameron 2011-02-05 14:30:56
Dot連接兩個字符串 - 'author ='和$ bp-> displayed_user-> id,導致類似'author = 5'。 – Tomik 2011-02-05 14:35:01