內的破滅爲什麼這是無效的:使用雙引號
$foo = "blah blah {implode(',', $some_array['a key'])}";
這給錯誤:
unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier
我認爲使用該陣列的一個重要的原因。
是否可以在雙引號內使用implode,還是必須先將字符串放入變量中?
內的破滅爲什麼這是無效的:使用雙引號
$foo = "blah blah {implode(',', $some_array['a key'])}";
這給錯誤:
unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier
我認爲使用該陣列的一個重要的原因。
是否可以在雙引號內使用implode,還是必須先將字符串放入變量中?
你現在正在使用它的方式是專爲類化子性質例如:
$foo = "blah blah {$user->name}";
如果你想使用的功能,而不先聲明變量,就這樣使用它:
$foo = 'blah blah ' . implode(',', $some_array['a key']);
從手冊:
Complex (curly) syntax
Any scalar variable, array element or object property with a string representation can be included via this syntax
你不能叫大括號內的功能,這就是你得到了錯誤的原因。
可以打破字符串和使用期限串連:
$foo = "blah blah ". implode(',', $some_array['a key']). "";
#^This is only if you need extra string here
這很醜陋。爲什麼不直接與'.'連接? – Derek
對我來說看起來很好! – user3791372
如果看起來很好,它會起作用。這只是一個討厭的男人。 – Derek