Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowanie zagnieżdżone
Gigante
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


Mam ciąg:
  1. <?php
  2. $ciąg = 'Ala ma <albo><albo>kota<lub>kotka</albo><lub>psa</albo>.';
  3. ?>

Chcę aby z tegio ciągu powstało losowo:
  1. Ala ma kota.
  1. Ala ma kotka.
  1. Ala ma psa.

Do losowania <albo>kota<lub>kotka</albo> już doszedłem, to jest zbytnio skomplikowane (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Nie biore pod uwage zastępowania środkowych <albo> innymi slowami

Ten post edytował Gigante 16.03.2009, 16:00:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Quider
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 9
Dołączył: 6.03.2009
Skąd: Katowice

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


Ciekawe zagadnienie. Z tego co mi teraz przychodzi do głowy, to taka koncepcja na to, żeby skrypt szukał ciągu "<albo>" zapisywał to do tablicy, po czym wszystko co jest dalej czyli tutaj kolejne <albo> wtedy powstaje tablica dwuwymiarowa itd
To tylko wolno rzucony pomysł...
Go to the top of the page
+Quote Post
Gigante
post
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


problem nie jest prosty (jak dla mnie) probowalem go rozwiazac poprzez
  1. <?php
  2. $rozbij = explode('<albo>', $ciag);
  3. ?>

no ale nie dziala tak jak trzeba w zagnierzdzonych <albo>
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Nie możesz zrobić z tego prostego XMLa, i parsować go np. SimpleXMLem?
Go to the top of the page
+Quote Post
Gigante
post
Post #5





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


Cytat(Mephistofeles @ 15.03.2009, 22:55:47 ) *
Nie możesz zrobić z tego prostego XMLa, i parsować go np. SimpleXMLem?

a moze jakis przyklad?

a na petlach nie bedzie prosciej?
Go to the top of the page
+Quote Post
torbicki65
post
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.11.2008

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


Może warto spróbować z preg_split zamiast explode?
Go to the top of the page
+Quote Post
bim2
post
Post #7





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Zrób ciąg
Ala ma <rand>Kota<or/>Psa<or/>Chomika</rand>

Wyciągasz ciąg pomiędzy <rand></rand>
Później explode('<or/>');
A reszty sie sam powinieneś domyślić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Gigante
post
Post #8





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


Cytat(bim2 @ 16.03.2009, 09:06:52 ) *
Zrób ciąg
Ala ma <rand>Kota<or/>Psa<or/>Chomika</rand>

Wyciągasz ciąg pomiędzy <rand></rand>
Później explode('<or/>');
A reszty sie sam powinieneś domyślić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jak napisalem wyzej... tak juz zrobilem jak napisales i dzialalo - ale ja chce by to dzialalo jako zagnierzdzone
Go to the top of the page
+Quote Post
kamil4u
post
Post #9





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Poczytaj o rekurencji - potrzebne Ci jeszcze będzie wspomniane SimpleXML - kiedyś miałem podobny problem tyle, że w JS: http://forum.webhelp.pl/viewtopic.php?p=873082#873082
Go to the top of the page
+Quote Post
Gigante
post
Post #10





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


Znalazłem pełne rozwiązanie mojego problemupod TYM adresem.
Go to the top of the page
+Quote Post
nexis
post
Post #11





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat
Losowanie zagnierzdzone


Mogę prosić o poprawę tematu, bo aż razi w oczy: Losowanie zagnieżdżone
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat(Gigante @ 15.03.2009, 19:16:54 ) *
Mam ciąg:
  1. <?php
  2. $ciąg = 'Ala ma <albo><albo>kota<lub>kotka</albo><lub>psa</albo>.';
  3. ?>

Chcę aby z tegio ciągu powstało losowo:
  1. Ala ma kota.
  1. Ala ma kotka.
  1. Ala ma psa.

Do losowania <albo>kota<lub>kotka</albo> już doszedłem, to jest zbytnio skomplikowane (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Nie biore pod uwage zastępowania środkowych <albo> innymi slowami



WTF?
Czym sie niby rozni logicznie ALBO od LUB?

Czy mam rozumiec "<albo><albo>kota<lub>kotka</albo><lub>psa</albo>":
ze najpierw wybieramy czy: [kota, kotka] czy [psa]
a jesli wybierzemy pierwsze to potem wybieramy [kota] lub [kotka]?

I czy ta twoja skladnia XMLowa jest do modyfikacji?
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #13





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Lepiej gdybyś zrobił taką składnię:
  1. Ala ma
  2. <albo>
  3.   <opcja>
  4.      <albo>
  5.         <opcja>kota</opcja>
  6.         <opcja>kotka</opcja>
  7.      </albo>
  8.   </opcja>
  9.   <opcja>psa</opcja>
  10. </albo>

Jest raczej czytelniejsza, i dla mnie łatwiejsza w rozwiązaniu problemu.

Ten post edytował Mephistofeles 16.03.2009, 12:39:16
Go to the top of the page
+Quote Post
Gigante
post
Post #14





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 29.09.2006
Skąd: Oława

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


Jak już napisalem problem został rozwiązany a rozwiązanie jest pod linkiem, który podałem powyżej. Jest to tam zrobione w sposob w 100% zgodny z tym czego szukałem.

Ten post edytował Gigante 16.03.2009, 16:14:31
Go to the top of the page
+Quote Post

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: 18.09.2025 - 03:10