Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Porównywanie tablic
Regyam
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Mam takie dwie tablice
  1. Array
  2. (
  3. [0] => 12
  4. [1] => 10
  5. [2] => 21
  6. [3] => 20
  7. )
  8.  
  9. Array
  10. (
  11. [0] => 1
  12. [1] => 2
  13. [2] => 2
  14. [3] => 1
  15. )


I chcialbym zeby zrobilo mi nowa tablice gdzie bedzie 1 lub 0.
1 w przyapdku gdy wartosci w pierwszej tablicy zawieraja wartosci z drugiej tablicy.
Czyli jedynka w przypadku [0], [2]
A zero w [1], [3] bo pierwsza tablica nie ma wartosci z drugiej tablicy
Wie ktoś może jak to zrobić?
Albo samo zliczenie ile bedzie jedynek?
Go to the top of the page
+Quote Post
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. <?php
  2.  
  3. $a = array(12, 10, 21, 20);
  4. $b = array( 1, 2, 2, 1);
  5.  
  6. foreach ($a as $key => $value)
  7. {
  8. if (strpos((string)$value, (string)$b[$key]) === false)
  9. {
  10. $c[$key] = 0;
  11. } else {
  12. $c[$key] = 1;
  13. }
  14. }
  15.  
  16. print_r($c);
  17.  
  18. ?>


Ten post edytował nexis 24.11.2007, 12:49:10
Go to the top of the page
+Quote Post
Regyam
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Wyskakuje mi blad
Kod
Warning: strpos() [function.strpos]: Empty delimiter.

W tej linijce:
  1. <?php
  2. if (strpos((string)$value, (string)$b[$key]) === false)
  3. ?>


Ten post edytował Regyam 24.11.2007, 13:05:32
Go to the top of the page
+Quote Post
kufalo
post
Post #4





Grupa: Zarejestrowani
Postów: 251
Pomógł: 2
Dołączył: 24.08.2005

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


  1. <?
  2.  $a=array(12,10,21,20);
  3.  $b=array(1,2,2,1);
  4.  
  5.  $c=array();foreach($a as $x){
  6. $c[]=count(array_diff(str_split($x),$b))?0:1;
  7.  }
  8.  
  9.  print_r($c);
  10. ?>


albo samo zliczanie jedynek:
  1. <?
  2.  $a=array(12,10,21,20);
  3.  $b=array(1,2,2,1);
  4.  
  5.  $c=0;foreach($a as $x){
  6. $c+=count(array_diff(str_split($x),$b))?0:1;
  7.  }
  8.  
  9.  print($c);
  10. ?>


Ten post edytował kufalo 25.11.2007, 13:00:37
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: 22.12.2025 - 23:17