[php] postawienie warunku do funkcji shuffle()

Witam.

Mam takie pytanie. mam funkcje shuffle(), która z tablicy $owoce losuje jedno wyrażenie. Jak postawić warunek, tak aby, gdy wylosuje się np. jabłko pojawił się jeszcze tekst ‘Dobry wybór’. Przykładowo losuje się gruszka, kiwi, figa itp i wtedy wyświetlana jest sama nazwa owocu, a chcę tak, jak wylosuje się jabłko to jeszcze pojawi się dodatkowy tekst. jak postawić taki warunek.?

<?php


												$owoce = array ('Jabłko','Gruszka','Ananas','Morela','Kiwi','Melon','Figa' );


												shuffle($owoce);


													for($i=0; $i<1; $i++)

													{

														echo '
’ . $owoce[$i] . ’

'; } ?> [/code]

pozdrawiam

Najczytelniej:

zamień:

echo '
’ . $owoce[$i] . ’

';[/code] na

[code] if ($owoce[$i] == ‘Jabłko’) echo ’

’ . $owoce[$i] . ’ - dobry wybór!

'; else echo ’

’ . $owoce[$i] . ’

';

Powinno działać :wink:

BTW: zamiast echo ’

’ . $owoce[$i] . ’

'; moze być echo "

$owoce[$i]

";

BTW: Co to za głupia pętla i shuffle jak mozesz wylosować pojedynczy klucz funkcją random()?

dziękuję :slight_smile:

uczę się dopiero php i w książce na której się wzoruję użyta była właśnie funkcja shuffle() ale dla tablicy z obrazkami. i losowo wyświetlała 3 zdjęcia. próbowałem czy na takim czymś również zadziała.

a w jaki sposób można w tym wypadku zastosować funkcję random() ?

pozdrawiam

Faktycznie jeżeli chciałbyś wybrać więcej niż jeden element losowy z tablicy to shuffle i pętla będzie odpowiedniejsze.

Podczas nauki programowania musisz nauczyć się jednej bardzo przydatnej rzeczy: używania google :wink:

http://www.google.pl/search?client=oper … 8&oe=utf-8

i tutaj masz odpowiedź. Pierwszy wynik jest z dokumentacji php (i moze być po angielsku) ale pozostale będą po polsku.

BTW: sorry jednak rand().

Możesz użyć takiego kodu do wylosowania dowolnego elementu z tablicy a więc liczba nie może być większa niż największy indeks tablicy:

$iLosowa = rand(0,count($tablica)); // count liczy elementy tablicy

i potem dajesz po prostu echo $tablica[$iLosowa];