fork download
  1. <?php
  2.  
  3. $array = json_decode(' [
  4. {
  5. "id": 1,
  6. "categories": [
  7. 222,
  8. 243,
  9. 208,
  10. 115,
  11. 173,
  12. 253,
  13. 236,
  14. 121,
  15. 69,
  16. 250,
  17. 221,
  18. 270,
  19. 245,
  20. 123,
  21. 124
  22. ]
  23. },
  24. {
  25. "id": 2,
  26. "categories": [
  27. 222,
  28. 243,
  29. 208,
  30. 69,
  31. 250,
  32. 221,
  33. 270,
  34. 245,
  35. 123,
  36. 124
  37. ]
  38. },{
  39. "id": 8774,
  40. "categories": [
  41. 222,
  42. 243,
  43. 208,
  44. 115,
  45. 173,
  46. 253,
  47. 236,
  48. 121
  49. ]
  50. }
  51. ]', true);
  52.  
  53. $search = array("222","121");
  54. $result = array_filter($array, function ($item) use ($search) {
  55. return count(array_intersect($item["categories"], $search)) == count($search);
  56. });
  57.  
  58. print_r($result);
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [id] => 1
            [categories] => Array
                (
                    [0] => 222
                    [1] => 243
                    [2] => 208
                    [3] => 115
                    [4] => 173
                    [5] => 253
                    [6] => 236
                    [7] => 121
                    [8] => 69
                    [9] => 250
                    [10] => 221
                    [11] => 270
                    [12] => 245
                    [13] => 123
                    [14] => 124
                )

        )

    [2] => Array
        (
            [id] => 8774
            [categories] => Array
                (
                    [0] => 222
                    [1] => 243
                    [2] => 208
                    [3] => 115
                    [4] => 173
                    [5] => 253
                    [6] => 236
                    [7] => 121
                )

        )

)