Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] rand a tablica
Regyam
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

Ostrzeżenie: (0%)
-----


Mam taki problem, gdy tworze tablice dwuwymiarowa i wypelniam ją zerami, to 15 pól chce wypełnić jedynkami; robie to tak:
  1. <?php
  2. for ($i=1; $i<=15; $i++){
  3. $tablica[rand(1,10)][rand(1,10)] = "1";
  4. }
  5. ?>

Niby wypełnia, ale.. problem tkwi w tym ze zdarza sie ze wylosuje pare dwa razy taka sama i w gruncie rzeczy pól w tablicy z jedynką mamy 14 a nie jak chcieliśmy 15. Czy wie ktoś jak można to poprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


aaa nie mówiłeś że już masz tablicę z wartościami i chcesz je zastąpić losowo jedynkami, trzeba więc zrobić tablicę jedynkową i "wkleić" ją do tej wcześniej stworzonej :

  1. <?php
  2. $loop = 0;
  3. while ($loop < 15){
  4. $i = rand(1,10);
  5. $j = rand(1,10);
  6. if(!isset($temp[$i][$j])){
  7. $temp[$i][$j] = 1;
  8. $loop++;
  9. }  
  10. }
  11.  
  12. foreach ($temp as $i => $sub){
  13. foreach ($sub as $j => $v){
  14. $tablica[$i][$j] = $v;
  15. }
  16. }
  17. ?>

ewentualnie sprawdzać, czy w komórce jest jedynka:

  1. <?php
  2. while ($loop < 15){
  3. $i = rand(1,10);
  4. $j = rand(1,10);
  5. if($tablica[$i][$j] != 1){
  6. $tablica[$i][$j] = 1;
  7. $loop++;
  8. }  
  9. }
  10. ?>


Ten post edytował Darti 5.12.2007, 21:46:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 22:07