Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak sprawdzić czy dana wartość istnieje w tablicy ?
mariusz g
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 25.03.2006

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


Jak sprawdzić czy np:Litwa istnieje w tablicy ?

  1. <?php
  2. $kraje = Array('Polska', 'Anglia', 'Litwa', 'Francja');
  3.  
  4. echo '<pre>';
  5. print_r($kraje);
  6. echo '</pre>';
  7. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
sniezny_wilk
post
Post #2





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Czytamy manuala: in-array" title="Zobacz w manualu PHP" target="_manual

Ten post edytował sniezny_wilk 6.05.2008, 18:30:34
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


ja bym to zrobil tak
  1. <?php
  2. $kraje = Array('Polska', 'Anglia', 'Litwa', 'Francja');
  3. $suma = counnt($kraje);
  4. $ii = 0;
  5. for($i=0; $i=$suma; $i++){
  6. if($kraje[$i] == "litwa"){
  7. $ii++;
  8. }
  9. }
  10. if($ii == 0){
  11. echo "Nie ma tego kraju w tablicy";
  12. }
  13. else{
  14. echo "Ten kraj znajduje się w tablicy";
  15. }
  16. ?>
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #4





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(Mlodycompany @ 6.05.2008, 17:32:29 ) *
ja bym to zrobil tak
  1. <?php
  2. $kraje = Array('Polska', 'Anglia', 'Litwa', 'Francja');
  3. $suma = counnt($kraje);
  4. $ii = 0;
  5. for($i=0; $i=$suma; $i++){
  6. if($kraje[$i] == "litwa"){
  7. $ii++;
  8. }
  9. }
  10. if($ii == 0){
  11. echo "Nie ma tego kraju w tablicy";
  12. }
  13. else{
  14. echo "Ten kraj znajduje się w tablicy";
  15. }
  16. ?>


Litości, masa zbędnego kodu.. widzę też nie lubisz manuala ?

  1. <?php
  2. $kraje = Array('Polska', 'Anglia', 'Litwa', 'Francja');
  3. if (in_array("Litwa", $kraje)) {
  4. echo "Litwa znaleziona";
  5. }
  6. ?>


Czy nie wydaje się Tobie, że tak będzie łatwiej i szybciej ?

EDIT: litości cnd.. co to jest ?
  1. <?php
  2. for($i=0; $i=$suma; $i++)
  3. ?>

co to jest za warunek ? Chyba przepis na nieskończoną pętle lub błąd.. Sprawdź dodawany kod.

Ten post edytował sniezny_wilk 6.05.2008, 18:39:29
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


sniezy wilk, nie wiem o co ci chodzi z ta petla ale chyba sie domyslam. chodzi ci o $suma. otoz $suma jest wartoscia ilosci rekordow w tabeli, wiec jezeli w tabeli sa 4 panstwa to wyswietla jest wszystkie. potem w petli dalem warunke sprawdzajacy czy w tablicy jest litwa i jezeli jest to dodaje 1 do $ii, a potem wyswietlenie tekstu. moj kod jest tak samo dobry jak twoj.
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #6





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(Mlodycompany @ 6.05.2008, 17:43:14 ) *
sniezy wilk, nie wiem o co ci chodzi z ta petla ale chyba sie domyslam. chodzi ci o $suma. otoz $suma jest wartoscia ilosci rekordow w tabeli, wiec jezeli w tabeli sa 4 panstwa to wyswietla jest wszystkie. potem w petli dalem warunke sprawdzajacy czy w tablicy jest litwa i jezeli jest to dodaje 1 do $ii, a potem wyswietlenie tekstu. moj kod jest tak samo dobry jak twoj.


Czy Ty testowałeś to co napisałeś ? odpowiedź: nie.

$i=$suma - przypisanie wartości zmiennej $suma do $i,
$i==$suma - warunek porównania.

A po drugie zobacz na mój kod, czy to nie jest łatwiejsze do zrobienia tak jak podałem, a przede wszystkim łatwiejsze do zaimplementowania ?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Mlodycompany po co niepotrzebnie obciążać skrypt wykonywaniem jakiejś pętli skoro możesz to zrobić prostą funkcja podał sniezny_wilk. Wydajność takiego skryptu znacznie maleje.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #8





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


byc moze prosciej jest uzyc funkcji z manuala, ale ja wole zrobic wlasny skrypt i bede wiedzial jak on dziala. do manuala ja nie zagladam bo staram sie robic wlasne skrypty ktore maja po 100 lini (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #9





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(Mlodycompany @ 6.05.2008, 17:58:27 ) *
byc moze prosciej jest uzyc funkcji z manuala, ale ja wole zrobic wlasny skrypt i bede wiedzial jak on dziala. do manuala ja nie zagladam bo staram sie robic wlasne skrypty ktore maja po 100 lini (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


(IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Brak słów.. Czy Ty rozumiesz co piszesz ? po to są wbudowane funkcje aby z nich korzystać. Nieoptymalne skrypty obciążają niepotrzebnie serwer, zresztą widzę, że dopiero zaczynasz jeśli chodzi o PHP, kiedyś to zrozumiesz.. Chociażbyś się nie chwalił, że nie zaglądasz do manuala.. Ja polecam wszystkim manuala i google, a zwłaszcza początkującym.

Ten post edytował sniezny_wilk 6.05.2008, 19:01:54
Go to the top of the page
+Quote Post
mariusz g
post
Post #10





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 25.03.2006

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


panowie dzięki za pomoc

sam zrobiłem coś takiego:
  1. <?php
  2. $kraje = Array('Polska', 'Anglia', 'Litwa', 'Francja');
  3.  
  4.  
  5. foreach ( $kraje as $klucz => $wartosc){
  6. if($kraje[$klucz] == "Litwa"){
  7. $ii++;
  8. }
  9. }
  10.  
  11. if($ii == 0){
  12. echo "Nie ma tego kraju w tablicy";
  13. }
  14. else{
  15. echo "Ten kraj znajduje się w tablicy";
  16. }
  17. ?>


ale rozwiązanie snieznego_wilka było oczywiście najsensowniejsze (skorzystałem z Pomógł)

dzięki za pomoc
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #11





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Mam nadzieję tylko, że skorzystasz z rozwiązania podanego przeze mnie..
Go to the top of the page
+Quote Post
piotrooo89
post
Post #12


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




rozwiazanie to proste ładne przyjemne napisane dla pomocy a nie dla utrudnienia w ramach pomocy odsyłam Cie do tematu o tablicach w serwisie www.phpedia.pl masz tablice
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: 24.08.2025 - 22:45