fatal error Имя функции должно быть строкой

благодаря людям, которые ответили на мой последний вопрос

я продолжаю получать эту ошибку: имя функции должно быть строкой в ​​/home/pulsergf/public_html/these/vars.php в строке 4

<? $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, но я продолжаю получать эту ошибку. благодаря

используйте define вместо $define

$define() указывает на функцию переменной , что означает, что она принимает строковое значение $define и пытается вызвать функцию с тем же именем, что и эта строка.

Вам не нужно $ перед define .

Зачем?

Когда вы предшествуете define с $ за которым следует несколько параметров внутри (...) , он интерпретируется как переменная . Поскольку переменная $define не определена, она становится эффективной эквивалентной вызову функции без имени функции.