php से सरणी फ़िल्टर फ़ंक्शन:
array_filter ( $array, $callback_function, $flag )
$ अरै - यह इनपुट ऐरे है
$ कॉलबैक_फंक्शन - कॉलबैक फ़ंक्शन का उपयोग करने के लिए call यदि कॉलबैक फ़ंक्शन सही है , तो सरणी से वर्तमान मान परिणाम सरणी में वापस आ जाता है।
$ ध्वज - यह वैकल्पिक पैरामीटर है , यह निर्धारित करेगा कि कॉलबैक फ़ंक्शन पर क्या तर्क भेजे जाते हैं। यदि यह पैरामीटर खाली है तो कॉलबैक फ़ंक्शन तर्क मानों को तर्क के रूप में ले जाएगा। यदि आप तर्क के रूप में सरणी कुंजी भेजना चाहते हैं तो ARRAY_FILTER_USE_KEY के रूप में $ ध्वज का उपयोग करें । यदि आप कुंजी और मान दोनों भेजना चाहते हैं, तो आपको ARRAY_FILTER_USE_BOTH के रूप में $ ध्वज का उपयोग करना चाहिए ।
उदाहरण के लिए: साधारण सरणी पर विचार करें
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
यदि आप सरणी कुंजी के आधार पर सरणी फ़िल्टर करना चाहते हैं , तो हमें ARRAY_FILTER_USE_KEY का उपयोग सरणी फ़ंक्शन array_filter के तीसरे पैरामीटर के रूप में करना होगा।
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
यदि आप सरणी कुंजी और सरणी मान के आधार पर सरणी फ़िल्टर करना चाहते हैं , तो हमें ARRAY_FILTER_USE_BOTH को सरणी फ़ंक्शन array_filter के तीसरे पैरामीटर के रूप में उपयोग करने की आवश्यकता है।
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
नमूना कॉलबैक कार्य:
function get_key($key)
{
if($key == 'a')
{
return true;
} else {
return false;
}
}
function get_both($val,$key)
{
if($key == 'a' && $val == 1)
{
return true;
} else {
return false;
}
}
इसका उत्पादन होगा
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
में परिणाम होगा यह$b['bar']
होnull
।