为什么这无效:
$foo = "blah blah {implode(',', $some_array['a key'])}";
给出错误:
意外'' (T_ENCAPSED_AND_WHITESPACE),期待标识符
我认为使用数组的键是原因。
是否可以在双引号内使用implode,或者我是否必须先将字符串放在变量中?
答案 0 :(得分:4)
从手册:
复杂(卷曲)语法
可以通过此语法
包含任何带有字符串表示的标量变量,数组元素或对象属性
你不能在大括号内调用函数,这就是你得到错误的原因。
您可以使用句点来破坏字符串并连接:
public interface FlickrServiceInterface {
@GET("?method=flickr.photos.getSizes")
Call<PhotoSizes> getPhotoSizes(@Query("api_key") String apiKey, @Query("format") String format, @Query("nojsoncallback") String jsonCallback, @Query("photo_id") String photoId);
@GET("?method=flickr.photos.getRecent")
Call<PhotosList> getPhotos(@Query("api_key") String apiKey, @Query("format") String format, @Query("nojsoncallback") String jsonCallback);
}
答案 1 :(得分:4)
您现在使用它的方式是专为类职业设计的:例如:
$foo = "blah blah {$user->name}";
如果你想在不事先声明变量的情况下使用函数,只需使用它:
$foo = 'blah blah ' . implode(',', $some_array['a key']);