Usage
nebula()->in_array_r($needle, $haystack, $strict)
Parameters
$needle
(Required) (String) The string to look for
Default: None
$haystack
(Required) (Array) The array to look in
Default: None
$strict
(Optional) (Boolean/String) The type and value must both match, or "contains" for partial string checking
Default: true
Parameter Notes
Pass 'contains'
for $strict to for a partial string check (using stripos
).
Source File
Located in /libs/Utilities/Utilities.php on line 840.
1 Hook
Find these filters and actions in the source code below to hook into them. Use do_action() and add_filter() in your functions file or plugin.
Filters
"pre_in_array_r"Need a new filter hook? Request one here.
Actions
This function has no action hooks available. Request one?public function in_array_r($haystack, $needles, $strict=true){ $override = apply_filters('pre_in_array_r', null, $haystack, $needles, $strict); if ( isset($override) ){return $override;} foreach ( $needles as $needle ){ if ( $strict === true ){ //If strict, match the type and the value if ( $needle === $haystack ){ return true; } } else { if ( $strict === 'contains' ){ //If strict is 'contains', check if the item contains the needle if ( stripos($haystack, $needle) !== false ){ return true; } } elseif ( $$needle === $haystack ){ //Otherwise check if the item matches the needle (regardless of type) return true; } } if ( is_array($needle) && in_array_r($haystack, $needle, $strict) ){ //If the item is an array, recursively check that array return true; } } return false; }
Override
To override this PHP function, use this hook in your child theme or plugin ("my_custom" can be changed):
add_filter('pre_in_array_r', 'my_custom_in_array_r', 10, 4); //The last integer must be 1 more than the actual parameters function my_custom_in_array_r($null, $needle, $haystack, $strict){ //$null is required, but can be ignored //Write your own code here return true; //Return true to prevent the original function from running afterwords }
You can completely disable this PHP function with a single line actions:
add_filter('pre_in_array_r', '__return_false');