致命错误:使用字符串调用未定义的函数

时间:2017-09-19 03:57:56

标签: php

<?
  function generateRenStr($length) {
    $character = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $rendom_str = "";
    $loopNum = $length;
    while ($loopNum--) {
      $rendom_str .= $character(mt_rand(0, strlen($character)));
    }
    return $rendom_str;
  }
?>

当我运行它时,网络浏览器会说

  

'致命错误:调用未定义的函数   0123456789是的关注   C:\ Bitnami \ wampstack \ apache2 \ htdocs \ loginmodule \ lib \ codegen.php on   7号线和   '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'是   不是功能。

我该如何解决?

1 个答案:

答案 0 :(得分:2)

问题在于:

while ($loopNum--) {
  $rendom_str .= $character(mt_rand(0, strlen($character)));
}

$character是一个存储字符串的变量,您尝试将其作为函数访问。使用错误的括号(),您需要 []

试试这个:

while ($loopNum--) {
  $rendom_str .= $character[mt_rand(0, strlen($character)-1)];
}