Почему функция shuffle не работает в классе PHP? - PullRequest
1 голос
/ 16 марта 2011

Почему он не тасует массив, поэтому я получаю случайный результат каждый раз?

class greeting {
public $greet = array('hi','hello');
shuffle($greet);
}
$hi = new greeting;
echo $hi->greet[1];

Что-то не так с моим кодом?

Ответы [ 3 ]

6 голосов
/ 16 марта 2011

Если вы измените его так, чтобы перемешивание было внутри конструктора, оно должно работать нормально.

class greeting {

  public $greet = array('hi','hello');

  function __construct(){
    shuffle($this->greet);
  }
}
1 голос
/ 16 марта 2011

Внутри блока класса вы можете определять только константы, свойства (как с фиксированными значениями), так и методы.Вы не можете поместить код в этот блок, код можно поместить только внутри методов (функций AKA).

1 голос
/ 16 марта 2011

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

class greeting {
   public $greet = array('hi','hello');
   function __construct()
   {
     shuffle($this->greet);
   }
}

$hi = new greeting;
echo $hi->greet[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...