Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] tablice, in_array ze zdefiniowanym kluczem
-Wieviór-
post
Post #1





Goście







Robię "CAPTHA" przy rejestracji, na zasadzie pytania i odpowiedzi. Pytań jest kilka, zapisuje je w hidden input. Potem jest input z odpowiedzią. Jako, że odpowiedzi mogą być różne, to muszę to uwzględnić.

Wymyśliłem coś takiego:

  1. <?php
  2. $odpowiedzi = array(
  3. 1 => 'Fernando Torres',
  4. 1 => 'Torres',
  5. 2 => '2005',
  6. 2 => '05',
  7. 3 => 'Liverpool',
  8. 3 => 'Liverpool FC',
  9. 3 => 'FC Liverpool'
  10. );
  11.  
  12. if (in_array($_POST['register_podana_odpowiedz'], $odpowiedzi) ) { echo 'no udało się!'; }
  13. ?>


No i ładnie, tyle tylko, że chciałbym jakby nadać funkcji in_array, żeby szukała tylko dla tej pierwszej wartości równej numerowi pytania... I nie wiem jak to wymyślić jakoś prosto, bo nie chciałbym tworzyć tablicy w tablicy.
Go to the top of the page
+Quote Post
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Wieviór, to nie ma jak działać. Jedna tablica nie może mieć kilku takich samych indeksów o innych wartościach. Najrozsądniejszym wyjściem będzie jednak użycie tablicy dwuwymiarowej.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
AxZx
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


  1. <?php
  2. if($tablica[$numer_pytania] == 'odpowiedz'){
  3. echo 'okej'
  4. }
  5. ?>

?


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
l0ud
post
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


  1. <?php
  2.  
  3. $odpowiedzi = array(
  4. array('Fernando Torres', 'Torres'),
  5. array('2005', '05'),
  6. array('Liverpool', 'Liverpool FC', 'FC Liverpool')
  7. );
  8.  
  9. if (isset($odpowiedzi[$_POST['register_pytanie']]) && in_array($_POST['register_podana_odpowiedz'], $odpowiedzi[$_POST['register_pytanie']])) { echo 'no udało się!'; }
  10.  
  11. ?>


Ten post edytował l0ud 20.03.2008, 18:29:20


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
AxZx
post
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


a gdzie masz indeks w tej tablicy $odpowiedzi?
  1. <?php
  2. $odpowiedzi = array(
  3. 1 => array('Fernando Torres', 'Torres'),
  4. 2 => array('2005', '05'),
  5. 3 => array('Liverpool', 'Liverpool FC', 'FC Liverpool')
  6. );
  7. ?>


Ten post edytował AxZx 20.03.2008, 18:34:14


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat
a gdzie masz indeks w tej tablicy $odpowiedzi?


Indeksy są przypisywane domyślnie.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Xniver
post
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

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


Tyle ,że od 0 ,a nie od 1.
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #8





Goście







Czyli jednak dwuwymiarowa... dzięki chłopaki ;]

Ten post edytował Wieviór 20.03.2008, 18:51:27
Go to the top of the page
+Quote Post
l0ud
post
Post #9





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


No racja, ale nikt tu nie stwierdził, że muszą się od 1 zaczynać winksmiley.jpg I tak pewnie autor tematu w inny sposób będzie budował tą tablicę - to był tylko przykład.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
AxZx
post
Post #10





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


indeksy sa ustawiane automatycznie (od 0 wzwyz), ale nie wziales pod uwage ze numery pytan nie koniecznie musza byc pokolei od 0 wzwyz.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 18:08