Losowanie ZMIENNYCH

0

Witam!
Mam problem, ponieważ nigdzie nie mogę znaleźć losowania zmiennych. Wszędzie tylko miliony takich samych tutoriali losowania liczb.
Wie ktoś jaka funkcja by mi pomogła ?

Mam to, ale dziala tylko z liczbami :

$k1=tekst1;
$k2=tekst2;
$k3=tekst3;
$wynik = rand($k1, $k3);
echo "$wynik";
3

To co chcesz zrobic wydaje sie malo realne, moze wsadz po prostu te wartosci do tablicy i losuj indeks?

2
  1. To powinno być w dziale Newbie.
  2. Nie ma funkcji losującej zmienną. Niby w jaki sposób "program" miałby wiedzieć spośród jakich zmiennych ma losować?
  3. Myślę, że najprościej byłoby zastosować tablicę. Do tablicy dodajesz te trzy wartości i wybierasz losową wartość z tablicy.
3

mk ma racje, chociaż jako ciekowstkę dodam że w PHP dało by się to zrobić np w taki sposób:

<?php 

$k1 = "tekst1";
$k2 = "tekst2";
$k3 = "tekst3";

$all_vars = get_defined_vars();

print_r($all_vars);
var_dump($all_vars[array_rand($all_vars)]);
?> 

Przy wyłączony REGISTER_GLOBALS dostalibyśmy tablicę z naszymi zmiennymi z której array_rand wylosuje jakąś.

1

@Rezor:
Można to zrobić znacznie prościej:
http://ideone.com/kZBYhe

0

@Patryk27 Rozwiązanie z budową nazwy zmiennej jest mało ciekawe (IMO). @Rezor wyraźnie napisał, że podaje swój pomysł jako ciekawostkę - i dla mnie funkcja pobierająca nazwy zadeklarowanych zmiennych jest jak najbardziej ciekawostką, bo o niej nie wiedziałem :) Dodatkowo pozwala zrobić to dla zmiennych o dowolnych nazwach ;)

0
Zieloony napisał(a):

Witam!
Mam problem, ponieważ nigdzie nie mogę znaleźć losowania zmiennych. Wszędzie tylko miliony takich samych tutoriali losowania liczb.

I nie znajdziesz, bo nikt takich cudów nie robi. Nie ma się co denerwować :P. Tak jak już wielu pisało przede mną: losuj indeks z tablicy.

0

Chyba w końcu udało mi się ogarnąć to co chciałem:

<?php 
$wynik = rand(1, 3);
if ($wynik==1){
	echo "Stany Zjednoczone";
	}
if ($wynik==2){
	echo "Francja";
	}
if ($wynik==3){
	echo "Wlochy";
	}
?>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.