$day = 5; $result = array_filter($masConfig['PACKET_ADS_DAY'], function($innerArray){ global $day; return ($innerArray[0] == $day); }); var_dump($result); 

Hello. Tell me, why in the $ day equal is NULL? Where to look for the cause? Thank !

    1 answer 1

    Because in Anonymous functions, variables from outside are passed through the use operator:

     $day = 5; $result = array_filter($masConfig['PACKET_ADS_DAY'], function($innerArray) use($day) { return ($innerArray[0] == $day); }); var_dump($result);