请向我解释为什么我不能将匿名函数作为str_pad()的参数。
例如:
str_pad(function ($num) {
return ($num > 5) ? "greater" : "less than";
}, 57, '_');
由于函数返回一个字符串,为什么我不能这样做?
答案 0 :(得分:6)
因为str_pad
不期望函数作为其参数,因此。它需要一个字符串。你给它一个功能。它不知道如何处理函数。它需要执行函数来接收字符串,但这根本不是它的作用。
答案 1 :(得分:4)
因为str_pad
将string
作为第一个参数,而不是函数。
直接嵌套条件,不需要函数。
str_pad(($num > 5) ? "greater" : "less than", 57, '_');
答案 2 :(得分:3)
因为PHP无法正常工作。 str_pad()
的定义是它希望在那里接收一个字符串,而不是callable
。虽然有些功能可以让你这样做,但str_pad()
不是其中之一。