Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak sprawdzić czy dana wartość istnieje w tablicy ?
Forum PHP.pl > Forum > Przedszkole
mariusz g
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. ?>
sniezny_wilk
Czytamy manuala: in-array" title="Zobacz w manualu PHP" target="_manual
Mlodycompany
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. ?>
sniezny_wilk
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.
Mlodycompany
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.
sniezny_wilk
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 ?
piotrooo89
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.
Mlodycompany
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 biggrin.gif
sniezny_wilk
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 biggrin.gif


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.
mariusz g
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
sniezny_wilk
Mam nadzieję tylko, że skorzystasz z rozwiązania podanego przeze mnie..
piotrooo89
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
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.