PHP里的函数,能不能靠字符串的拼接和转化来实现?
迷茫
迷茫 2017-04-11 10:29:10
0
3
766

1、我想让两个字符串拼接成一个函数,不知道能不能实现?或者说一个和函数一模一样的字符串能不能转换成函数?

2、举个例子,decbin()是一个Math函数,用来将十进制数转换成二进制数。

 最后输出结果是:1010。

3、我尝试用以下方法试过,都不能实现。

(1)  (2)  注:上边的(2)中输出的结果是字符串类型的"decbin(10)",并不是一个函数。

4、貌似我思路不对?函数不属于任何类型,所以字符串无法拼接再转化成函数?请求各位大神解惑!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all (3)
PHPzhong

eval
call_user_func
call_user_func_array

    阿神

    在PHP中没有函数这种数据类型,只有Callable数据类型,函数或方法通过其名字(字符串形式)或匿名函数(闭包)进行传递,因此通过这两种方法传递函数或方法时,打印出来的数据类型分别为stringClosure,这就解释了你问题中的注:上边的(2)中输出的结果是字符串类型的"decbin(10)",并不是一个函数。。要判断是不是函数或方法,需要使用is_callable()

    $func = 'decbin'; var_dump(is_callable($func)); // bool(true) $func(10); call_user_func($func, 10); call_user_func_array($func, [10]);
      巴扎黑

      $a($b) 不需要引号 楼上的方法也行

        Latest Downloads
        More>
        Web Effects
        Website Source Code
        Website Materials
        Front End Template
        About us Disclaimer Sitemap
        php.cn:Public welfare online PHP training,Help PHP learners grow quickly!