Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Porównywanie kilku zmiennych
busyboy
post 16.12.2013, 10:40:26
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Witam

Sprawa pewnie prosta ale ja nie za bardzo nie wiem jak to zrobić... chodzi o porównanie kilku zmiennych. Wiadomo jeżeli są dwie zmienne mozna je sprawdzić np warunkiem

  1. if ($a <> $b)
  2. echo 'Wartości są różne';


A w przypadku gdy mam np 6 zmiennych i chce sprawdzić czy jakaś z nich jest różna od pozostałych... ?
Go to the top of the page
+Quote Post
markonix
post 16.12.2013, 10:42:44
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


in_array

edit: chcesz porównać zbiory czy jedną zmienną do zbioru?

Ten post edytował markonix 16.12.2013, 10:43:40


--------------------
Go to the top of the page
+Quote Post
nospor
post 16.12.2013, 11:22:57
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@markonix przeciez wyraznie napisano wink.gif

@autorze wrzuc zmienne do tablicy a potem zrob
http://www.php.net/manual/en/function.array-count-values.php
Gdy wynik bedzie mial wiecej niz jeden element, znaczy ze wartosci byly rozne


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 11:59:57
Post #4





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Ok dziękuje za nakierowanie. Mam jeszcze pytanko, mam przykład :

  1. <?php
  2. $array = array(1, "hello", 1, "world", "hello");
  3. ?>


Na tablicach nie mam za bardzo wiedzy co i jak, dlatego pytam. Ja kim poleceniem mam spraedzić czy ilość wyświetlonych tabliv jest większa niż jeden ?
Go to the top of the page
+Quote Post
nospor
post 16.12.2013, 12:01:26
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




count()
ale to wszystko masz w manualu przy funkcjach z tablicami. zapoznaj sie z nim. manual to przyjaciel a nie wrog


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 12:25:55
Post #6





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Dziękuje po raz kolejny za nakierowanie. Ok mam coś takiego

  1. $array = array($k1[0], $k2[0], $k3[0], $k4[0], $k5[0], $k6[0]);
  2. $wynik = count (array_count_values($array));
  3. echo $wynik;


A co w przypadku gdy zmienna jest pusta ? bo taki przypadek może też być - wyrzuca mi bład

Can only count STRING and INTEGER values!

Można to jako objeść ?

I czy mozna zmienne do tablicy przypisywać dynamicznie a nie na stałe...
Go to the top of the page
+Quote Post
nospor
post 16.12.2013, 12:33:21
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale co puste? $array? no to daj IF przed wyliczeniami.

Dynamicznie? Mozna


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 12:42:32
Post #8





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Ale nie wszystkie zmienne są puste tylko może być np 2 puste a 4 zmienne z wartościami...
Go to the top of the page
+Quote Post
nospor
post 16.12.2013, 12:46:33
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie rozumiem twojego aktualnego problemu.... chcesz porownywac tylko niepuste zmienne? No to tylko niepuste dodawaj do tablicy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 12:53:42
Post #10





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Może napisze to jaśniej, mam 6 zmiennych do których jest przypisywana wartość z zapytań z bazy np:

$a = 1;
$b = 1;
$c = 4;
$d = ''; <= bo zapytanie z bazy nie dało wyniku
$e = ''; <= bo zapytanie z bazy nie dało wyniku
$f = 3;

I chciałem sprawdzić czy te wartości są od siebie róznie, czyli za pomocą tego kodu

  1. $array = array($a, $b, $c, $d, $e, $f);
  2. $wynik = count (array_count_values($array));
  3. echo $wynik;


Wszystko dział w przypadku gdy wszstkie zmienne mają jakąś przypisaną wartość, gdy chciaż jedna nie będzie miał przypisanej wartości (czyli pusta) wyrzuca błąd.
Go to the top of the page
+Quote Post
nospor
post 16.12.2013, 12:56:58
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to ci napisalem: dodawaj do tablicy tylko niepuste


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 13:35:02
Post #12





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Ok tylko ja dodawać w tablicy nie puste zmienne sad.gif ?
Go to the top of the page
+Quote Post
Turson
post 16.12.2013, 13:38:53
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


sprawdzaj empty() czy nie jest puste
Go to the top of the page
+Quote Post
busyboy
post 16.12.2013, 14:23:30
Post #14





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Ok empty() rozumiem ale jak mam dodać do tablicy zmienne bo czasem będzie ich 5 a czasem 3 a jak dodam w taki sposób

  1. $array = array($a, $b, $c, $d, $e, $f);


To wyrzuci mi błąd jak jakaś zmienna będzie pusta...
Go to the top of the page
+Quote Post
phpion
post 16.12.2013, 14:27:04
Post #15





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. $array = array();
  2.  
  3. if (!empty($a)) {
  4. $array[] = $a;
  5. }
  6.  
  7. if (!empty($b)) {
  8. $array[] = $b;
  9. }
  10.  
  11. // itd.

lub jeśli możesz to puść to w pętli.
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:20