致命错误函数名称必须是字符串

时间:2010-11-04 02:06:22

标签: php

感谢那些回答我上一个问题的人

我不断收到此错误:函数名称必须是第4行/home/pulsergf/public_html/these/vars.php中的字符串

<?
$array = array('555', '666', 'aaa', 'bbb', '777', '888');
$rand_index = mt_rand(0, count($array) / 2 - 1) * 2;
$define('BOUGHT','echo "$array[$rand_index]";');
$define('SOLD','echo "$array[$rand_index+1]";');
?>

所以它需要选择数组中的BOUGHT和SOLD,但我不断收到此错误。感谢

2 个答案:

答案 0 :(得分:1)

使用define代替$define

$define()表示variable function,这意味着它采用字符串值$define并尝试调用与该字符串同名的函数。

答案 1 :(得分:1)

$前面不需要define

<强>为什么吗

如果您在define前加$后跟(...)内的一些参数,则会将其解释为variable function。由于未定义变量$define,因此调用没有函数名的函数会相当有效。