Я пытался понять это за последние 3 часа.Я генерирую случайное число, 0 - 36. Я также генерирую массив с номерами 0-36 с шагом 2 (только неровные числа).Я делаю var_dump
как для случайного числа, так и для массива, и вижу соответствующее значение в массиве, однако мой оператор if
не вернет true.
Я также пытался in_array
, и это не сработало.Я пытался array_map
, не повезло ... Я бесконечно гуглил и пробовал все, что только мог придумать.Что дает?
$this->number = rand(0, 36);
$this->colorBlack = array(range(1, 36, 2));
foreach ($this->colorBlack as $this->color){
var_dump($this->color);
var_dump($this->number);
if ($this->color == $this->number){
echo 'yes';
var_dump($this->colorBlack);
}
}
Я ожидаю, что приведенный выше код будет return true
, когда сгенерированное случайное число соответствует значению в массиве, однако это не так.
Дамп Var выглядит так:
array(18) { [0]=> int(1) [1]=> int(3) [2]=> int(5) [3]=> int(7) [4]=> int(9) [5]=> int(11) [6]=> int(13) [7]=> int(15) [8]=> int(17) [9]=> int(19) [10]=> int(21) [11]=> int(23) [12]=> int(25) [13]=> int(27) [14]=> int(29) [15]=> int(31) [16]=> int(33) [17]=> int(35) } int(26)