我跑過了這個WordPress插件。
$stuff = $wpdb->get_results(" assume valid database query here ");
foreach ($stuff as $cur)
${$cur->type}[] = $cur->name;
$stuff
將是包含更多數據庫行對象的對象。這些數據庫行將具有列'id'
,'type'
和'name'
。 'type'
列將包含以下三個字符串中的一個:'file'
,'url'
或'code'
。
看起來這個代碼片段可能會爲名爲$file
,$url
和/或$code
的陣列創建或添加新元素。但是,我不熟悉$ {$}語法的這種用法;我只在雙引號字符串中看到它,以避免解析問題。
我正確的分析了這段代碼嗎?我在哪裏可以瞭解更多關於$ {$}語法的用法?
在雙引號字符串中有一個question about the ${ } syntax。我明白這個用法,但我特意詢問{}括號內的第二個$字符。
'{$ cur-> type}'強制這個位先解析,確保'$$ cur'不是含義,也不是'$ cur-> type []'。如果您想了解更多關於整體方法的信息,請查看[變量變量](https://duckduckgo.com/?q=php+variable+variables) - 這是一種編寫表達式的方式,其中變量名稱本身可以更改。 – halfer
@ j08691:這個重複實際上是關於不同的東西。並非完全不同,但在這裏並非如此。 – hakre
http://www.php.net/manual/en/language.variables.variable.php –