दिलचस्प पोस्ट
क्या अक्षर विंडोज और लिनक्स निर्देशिका नामों में मना किया है? PHP DomDocument UTF-8 वर्ण (☆) को संभालने में असफल रहा है JQuery के साथ ईवेंट हैंडलर्स के लिए बाध्य कार्यों को एक्सेस करना जावा की आभासी मशीन और सीएलआर अजगर में ऑब्जेक्ट एट्रिब्यूट्स को बदलना अजगर नकली अनुरोध और प्रतिक्रिया मैं नियंत्रण और इसके बच्चों के लिए पेंटिंग कैसे निलंबित कर सकता हूं? CodeIgniter 2.0 के साथ एकाधिक फाइल अपलोड (अर्रे) UITableView में खाली कक्षों को कैसे निकालना है? कितने सबप्रोसेस को समाप्त करने के लिए बाइट में इंतजार करना और निकास कोड वापस करने के लिए! = 0 जब कोई सबप्रोसेस कोड के साथ समाप्त होता है! = 0? क्या मैं उद्देश्य-सी में कुंजी के आधार पर एनएसस्ट्री को सॉर्ट कर सकता हूं? अनुलग्नक के साथ ईमेल भेजने के लिए एंड्रॉइड इन्टेंट ओडीबीसी के बिना जावा से ऐक्सेस डाटाबेस को जोड़ना क्या जावास्क्रिप्ट (node.js) में चर आयात करना संभव है? स्विफ्ट शब्दकोश मूल्य के लिए कुंजी प्राप्त करें

स्ट्रिंग वाले PHP सरणी तत्व की खोज करें

$example = array('An example','Another example','Last example'); 

मैं उपर्युक्त सरणी में "अंतिम" शब्द के लिए एक ढीली खोज कैसे कर सकता हूं?

 echo array_search('Last example',$example); 

उपरोक्त कोड केवल मान की कुंजी गूंज करेगा यदि सुई वास्तव में मूल्य में सब कुछ मेल खाता है, जो कि मैं नहीं चाहता है। मुझे ऐसा कुछ चाहिए:

 echo array_search('Last',$example); 

और मैं मूल्य की गूंजता चाहता हूं अगर मान में शब्द "अंतिम" होता है

वेब के समाधान से एकत्रित समाधान "स्ट्रिंग वाले PHP सरणी तत्व की खोज करें"

अपने खोज मानदंड से मेल खाने वाले मान प्राप्त करने के लिए, आप array_filter फ़ंक्शन का उपयोग कर सकते हैं:

 $example = array('An example','Another example','Last example'); $searchword = 'last'; $matches = array_filter($example, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); }); 

अब $matches आपके मूल सरणी से केवल तत्व शामिल होंगे, जिसमें अंतिम शब्द (केस-असंवेदनशील) शामिल हैं।

यदि आपको मापदंड से मेल खाने वाले मानों की चाबी मिलनी है, तो आपको सरणी पर लूप की आवश्यकता है:

 $example = array('An example','Another example','One Example','Last example'); $searchword = 'last'; $matches = array(); foreach($example as $k=>$v) { if(preg_match("/\b$searchword\b/i", $v)) { $matches[$k] = $v; } } 

अब सरणी $matches में मूल सरणी से मुख्य-मूल्य वाले जोड़े हैं जहां मान (केस-असंवेदनशील) शब्द अंतिम होता है

 function customSearch($keyword, $arrayToSearch){ foreach($arrayToSearch as $key => $arrayItem){ if( stristr( $arrayItem, $keyword ) ){ return $key; } } } 
 $input= array('An example','Another example','Last example'); $needle = 'Last'; $ret = array_keys(array_filter($input, function($var) use ($needle){ return strpos($var, $needle) !== false; })); 

यह आपको उन सारी चाबियाँ देगी जिनके मूल्य में सुई होनी चाहिए।

यह पहले मैच के साथ एक तत्व की कुंजी पाता है:

 echo key(preg_grep('/\b$searchword\b/i', $example)); 

और अगर आपको सभी चाबी की जरूरत है तो foreach का उपयोग करें:

 foreach (preg_grep('/\b$searchword\b/i', $example) as $key => $value) { echo $key; } 

मैं ओपी की समस्या का समाधान भी देख रहा था और मैंने इस सवाल पर गूगल के जरिये ठोकर खाई। हालांकि, इन उत्तरों में से कोई भी मेरे लिए ऐसा नहीं करता है इसलिए मैं कुछ अलग से कुछ आया जो कि अच्छी तरह से काम करता है

 $arr = array("YD-100 BLACK", "YD-100 GREEN", "YD-100 RED", "YJ-100 BLACK"); //split model number from color $model = explode(" ",$arr[0]) //find all values that match the model number $match_values = array_filter($arr, function($val,$key) use (&$model) { return stristr($val, $model[0]);}, ARRAY_FILTER_USE_BOTH); //returns //[0] => YD-100 BLACK //[1] => YD-100 GREEN //[2] => YD-100 RED 

यह केवल PHP 5.6.0 और इसके बाद के संस्करण के साथ काम करेगा।