php关于变量值作为函数名的用法

//在内存中创一个和我们这个图片一样的图片
$ext = "imagecreatefrom{$type}";

//把该图片放入内存中
$image = $ext($img);

这是PHP中给图片添加水印的一段代码,当时一直以为那个imagecreatefrom是一个函数,但没有看懂为什么后面是一个{},继而下方又是一个变量加上一个圆括号,括号里面又是一个变量,弄得我摸不着头脑——根本没见过这种用法啊。

然后当我var_dump()出来$ext之后,发现是一个字符串——‘imagecreatejpg’,然后百度了一下imagecreatefrom这个好“”函数“,发现php手册中都没有这个函数,只有相近的函数名,比如:imagecreatfromgif、imagecreatefrompng等等,发现from后面都是图片的各种格式名,然后结合刚刚打出的$ext的值,就发现,原来$ext的作用就是拼接出函数名,继而下方的变量加上括号,里面加上变量不正好就是函数调用加传参嘛。。哈哈哈哈哈

以前还真没见过这种骚操作,长见识了。。。

你可能感兴趣的:(php,PHP,函数名,变量值做函数名)