Попытка заставить этот код работать. Возможно, было бы проще показать, что я пытаюсь сделать, а что отсутствует:
<?php
$array=array(
"something",
"something else"
);
/*pick a random entry in the array and store it as $output*/;
if(strpos($output,"else") !== false){
//do stuff;
}
echo "<div>";
echo $output
echo "</div>"
?>
Как вы можете видеть, у меня возникли проблемы с попыткой сохранить случайную запись в $output
. То, что я хочу сделать, - это выбрать случайную запись из массива, запустить strpos на результат, чтобы делать дополнительные вещи, если условия выполняются, а затем выводить одну и ту же случайную запись между div.
EDIT: если это не ясно, строка, прокомментированная с /*
и */
, должна быть "заполнять пустую" строку, а не "этот комментарий относится к строкам кода ниже".
Используйте array_rand()
чтобы получить случайную запись.
$output = $array[array_rand($array)];
Создайте случайное число от нуля до единицы, меньшее длины массива, используйте это как индекс массива для получения случайного элемента из массива.
<?php
$output = $array[rand(0, count($array)-1];
array_rand()
не будет вызываться каждый раз, когда вы его где-тоecho
. Доказательство: eval.in/136389