Tömb értékeinek összekeverése
Sziasztok!
Hogy tudnám megoldani, hogy egy tömböm értékeit véletlenszerűen megkeverjek és utána listázzam.
$tomb=array();
$tomb[]=piros;
$tomb[]=kék;
$tomb[]=zöld;
--> ezeket szeretném összekeverni
foreach ($tomb as $szin)
{
echo "Szín: $szin<br />\n";
}
--> itt már minden futtatásnál más-más sorrendben listátódjon ki.
Köszi!!!
■ Hogy tudnám megoldani, hogy egy tömböm értékeit véletlenszerűen megkeverjek és utána listázzam.
$tomb=array();
$tomb[]=piros;
$tomb[]=kék;
$tomb[]=zöld;
--> ezeket szeretném összekeverni
foreach ($tomb as $szin)
{
echo "Szín: $szin<br />\n";
}
--> itt már minden futtatásnál más-más sorrendben listátódjon ki.
Köszi!!!
shuffle
Hmmm..
Megköszönném... :-)
RTFM
Már majdnem yooo :-)
annyi még hogy itt összekeveri a tömb számát és az értéket is, nekem az fontos lenne, hogy a tömb száma megmaradjon:
$tomb[1]=piros;
$tomb[2]=kék;
$tomb[3]=zöld;
összekeverés után maradjon meg a tömb száma:
$tomb[1]=piros;
$tomb[3]=zöld;
$tomb[2]=kék;
a színeknél a tömb számában tartom az adatbázisban lévő szín id-ét.
Hmmm... remélem érthetően írtam :-))
Köszönöm...
Akkor rosszul írtad a kérdést,...
A shuffle() azt tudja, amit. Tehát, hogy összekeveri a tömb értékeit, tehát a:
Kérdés: miért nem használod a [szvsz] legegyszerűbb megoldást?
Azt mondtad:
Akkor mi lenne, ha az adatbázisból eleve véletlenszerűen kérdeznéd le a színkód=>szín párokat?
Az nem yoo
Most lekérem a színeket egy tömbe és ha nincsen meg 60 szín akkor hozzáadom a maradék mennyiséget (ami egy sablon kép).
az a lényege, hogy minden frissítésnél a sablon képpel együtt a színek megkeveredjenek és úgy kell kidobálnom egy oldalon össze-vissza.
Még arra gondoltam hogy egy TEMP táblát létrehozok és onnan lekérem véletlenszerűen, csak az is lassítja a működést, meg gondolom felesleges...
De, ha nincs más megoldás.....
Nincsen erre valami PHP-s megoldás?
akkor visszatérve az eredeti...
Azt hiszem, ehhez most nem sokat tudok hozzászólni; egyetlen megmaradt ötletem:
Határozd meg a tömb elemeinek számát a count() függvénnyel, ezt tárold el egy változóba, majd kérj véletlenszerűen kiválasztott x elemet a tömbödből. /és ugye ha az x a tömb elemszáma, akkor meg is van a végeredmény./
Erre -bár konkrétan erre az esetre sosem próbáltam meg alkalmazni, de elvileg- van a php-ben lehetőség, mégpedig az array_rand függvény.
Update.. Nekem működik!
Hogy
shuffle($tomb);
Kb. ennyi.
Neked mit csinált? Mondjuk a doksit ha megnézed, a User Contributed Notes alatti első kommentben írnak valamit arról, hogy bizonyos suhosin verziók esetében nem feltétlenül működik.
uasort