благодаря людям, которые ответили на мой последний вопрос
я продолжаю получать эту ошибку: имя функции должно быть строкой в /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
не определена, она становится эффективной эквивалентной вызову функции без имени функции.