Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Porównywanie tablic
Forum PHP.pl > Forum > PHP
Regyam
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?
nexis
  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. ?>
Regyam
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. ?>
kufalo
  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. ?>
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.