Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przeszukiwanie tablicy i analiza
Forum PHP.pl > Forum > Przedszkole
AdamT
Mam taki skrypcik :

  1. <?php
  2. $zdanie = "~(pvq)=~p&~q"
  3.  
  4. $o2_tab = array('~','v','&','>','=');
  5. $s = array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','w','z','x','y','-','_','$');
  6.  
  7. $S0 = array (' $S0','($S0','~$S1','$s$S2','-$S5');
  8. ^-to jest spacja a po niej $S0
  9. $S1 = array (' $S1','($S0','$s$S2');
  10. $S2 = array (' $S2','$o2_tab$S3',')$S4','-$S5','$');
  11. $S3 = array (' $S3','$s$S2','($S0','$S1');
  12. $S4 = array (' $S4','$o2_tab$S3','-$S5','$');
  13. $S5 = array ('$s$S2','($S0','~$S1');
  14.  
  15. foreach ($S0 as $index0) {
  16.  echo "Wartość: $index0<br>n";
  17. }
  18. ?>


Ten kod generuje mi coś takiego :

Kod
Wartość: $S0
Wartość: \($S0
Wartość: ~$S1
Wartość: $s$S2
Wartość: -$S5


A nie o coś takiego mi chodzi przecież w tablicy są zmienne - a nie jakieś szlaczki

miło by było jak by to wyglądało tak (na postawie zdefiniowanych wyżej tablic S0-S5)

Kod
Wartość: ~  <!-- w tablicy S0 występuje jako element pierwsza ~ -->
Wartość: ( <!-- ponieważ pierwsza była negacja to teraz może być tylko S1 a jednym z elementów S1 jest (
Wartość: p <!-- ponieważ poprzedni był nawias otwierający (element S1) to teraz musi być S0 a jednym z elementów S0 jest operator litera p -->
Wartość: v <!-- ponieważ po literze p (element S0) musi być S2 to jest operator v -->
itd


czyli w momencie wpisania :

~(pvq)=~p&~q

analiza będzie taka :

S -> S1 -> S -> S2 -> S3 -> S2 itd
~ ( p v q )

jak to zrobić ?
LBO
problem lezy w stringach... zawarte sa one pomiedzy ' (pojedynczy cudzyslow)..w takim przypadku php nie parsuje zmiennych tylko zapisuje as_is... pokasuj ' (pojedynczy cudzyslow), albo pozamieniaj na "(cudzyslow podwojny)
AdamT
Już zrobione smile.gif

Ale nadal wyświetla mi :

Wartość:
Wartość: (
Wartość: ~
Wartość: Array
Wartość: -

a nie tak jak chcialem (czyt. post wyżej)
LBO
moz wlasnie dlatego ze sa to tablice, a ja nie zauwazylem zebys sie jakos to odwolywal ich komorek
AdamT
no wlasnie tez mi sie wydaje ze czegos takiego nie napisalem (skad on naprzyklad ma wiedziec ze S0 dotyczy pierwszego miesca w $zdanie) ale jestem początkujący :/ i niestety nawet mi do głowy nie przychodzi żeby to zrobić questionmark.gif? A od czytania manuala (po 4 dniu to już mnie głowa boli ) sad.gif
LBO
wiesz.. pomoglbym, ale nie bardzo rozumiem na czym ma polegac twoja analiza... moze jak mi to wytlumazysz to obaj dojdziemy do rozwiazania...
zapraszam na PW
Wave
  1. <?php
  2. foreach ($S0 as $index0) 
  3. {
  4. echo('<pre>');
  5. print_r($index0);
  6. echo('</pre>');
  7. }
  8. ?>

Przeanalizuj sobie struktury.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.