str_pad()匿名函数说明

时间:2015-03-24 20:17:56

标签: php

请向我解释为什么我不能将匿名函数作为str_pad()的参数。

例如:

str_pad(function ($num) {
  return ($num > 5) ? "greater" : "less than";
}, 57, '_');

由于函数返回一个字符串,为什么我不能这样做?

3 个答案:

答案 0 :(得分:6)

因为str_pad不期望函数作为其参数,因此。它需要一个字符串。你给它一个功能。它不知道如何处理函数。它需要执行函数来接收字符串,但这根本不是它的作用。

答案 1 :(得分:4)

因为str_padstring作为第一个参数,而不是函数。

直接嵌套条件,不需要函数。

str_pad(($num > 5) ? "greater" : "less than", 57, '_');

答案 2 :(得分:3)

因为PHP无法正常工作。 str_pad()的定义是它希望在那里接收一个字符串,而不是callable。虽然有些功能可以让你这样做,但str_pad()不是其中之一。