Recursive in_array


/ Published in: PHP
Save to your folder(s)

Find one or all values of an array in another array.


Copy this code and paste it in your HTML
  1. <?php
  2.  
  3. //Recherche les différentes valeurs de $needle dans $haystack
  4. //Si $allValues vaut false, la fonction retourne true lorsqu'au moins une valeur de $needle est trouvé dans haystack
  5. //Si $allValues vaut true, toutes les valeurs de $needle doivent être dans haystack
  6.  
  7. function in_array_r($needle, $haystack, $allValues = false, $strict = false)
  8. {
  9. $found = $flag = false;
  10.  
  11. for ($i = 0, $n = sizeof($needle); $i < $n && !$flag; $i++)
  12. {
  13. $found = (in_array($needle[$i], $haystack, $strict));
  14.  
  15. if (($allValues && !$found) || (!$allValues && $found))
  16. $flag = true;
  17. }
  18.  
  19. return $found;
  20. }
  21.  
  22.  
  23. echo (in_array_r(array(1,3), array(2,4,5,6))) ? 1 : 0;
  24. echo '<br>';
  25. echo (in_array_r(array(1,3), array(1,2,4,5,6))) ? 1 : 0;
  26. echo '<br>';
  27. echo (in_array_r(array(1,3), array(2,3,4,5,6), true)) ? 1 : 0;
  28. echo '<br>';
  29. echo (in_array_r(array(1,3), array(1,2,3,4,5,6), true)) ? 1 : 0;
  30. echo '<br>';
  31.  
  32. ?>

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.