Рандометрицазатища...

CV
На сайте с 28.02.2007
Offline
2
514

srand(microtime()*1000000);

$rnd = rand(1, 2);

$content = str_replace('0', $rnd, $content);

как по аналогии использовать не цифры а слова? и тут только два значения поддерживает, а необходимо больше... типа:

srand(microtime()*1000000);

$rnd = rand(раз, два, три, четыре);

$content = str_replace('ноль', $rnd, $content);

Спасибо...

iexpert
На сайте с 01.09.2005
Offline
184
#1

Э... а в чем вопрос то?

Кстати, rand не бдет работать так, как вы написали во втором примере.

Ибо это интервал выборки случайного числа.

$arr = ("1" => "раз", "2" => "два", "3" => "три", "4" => "четыре");

srand(microtime()*1000000);

$rnd = rand(1, 4);

$content = str_replace('ноль', $arr[$rnd], $content);

Бойтесь ваших желаний, ибо они могут исполниться
CV
На сайте с 28.02.2007
Offline
2
#2

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

MM
На сайте с 02.12.2003
Offline
49
m&m
#3

$rndwords = array('раз', 'два', 'три', 'четыре');

$rnd = $rndwords[array_rand($rndwords)];

CV
На сайте с 28.02.2007
Offline
2
#4

Код работает, только слов для замен на странице несколько, но с данным кодом все меняются на одно из приведенных значений... если не трудно, как осуществить замену всех слов на разные варианты значений?

т.е.:

ноль,ноль,ноль,ноль,ноль,ноль,ноль

менял на:

раз, три, два, два, четыре, раз ,раз,

Спасибо за ваше терпение :)

greenwood
На сайте с 08.09.2003
Offline
519
#5
cj-vik:
как осуществить замену всех слов на разные варианты значений

http://bloggreenwood.com/keygo.php

MM
На сайте с 02.12.2003
Offline
49
m&m
#6

Тогда используйте preg_replace_callback - это как раз то, что нужно.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий