我做错了什么
我有这个脚本,并添加了$randnumber = rand(100, 500);
函数,这应该为我生成一个100到500之间的随机数。
$randnumber = rand(100, 500);
function word_limiter( $text, $limit = $randnumber, $chars = '0123456789' )
问题是它给了我一个错误:
解析错误:语法错误,意外 T_VARIABLE
如果我将该功能用作:
function word_limiter( $text, $limit = '200', $chars = '0123456789' )
它100%有效,我尝试过这样:
function word_limiter( $text, $limit = ''.$randnumber.'', $chars = '0123456789' )
但仍然出错?
答案 0 :(得分:3)
你做错了是试图将变量用作默认参数值。你不能这样做。
答案 1 :(得分:3)
这是语法错误。您不能将表达式的值指定为默认值。默认值只能是常量。而不是这样做,你可能会做类似的事情:
function word_limiter ($text, $limit = null, $chars = '0123456789') {
if ($limit === null) {
$limit = rand(100, 500);
}
// ...
}
答案 2 :(得分:2)
你可以这样做:
function word_limiter( $text, $limit = null, $chars = '0123456789' ){
if (is_null($limit)){
$limit = rand(100, 500);
}
}
答案 3 :(得分:2)
您不能将变量用作参数的默认值 - 它必须是常量值。
你可以试试这个......
function word_limiter($text, $limit = NULL) {
if ($limit === NULL) {
// Make its default value.
}
}