पर आधारित एक सरणी कुंजी का चयन करना मेरे पास एक सरणी है और उस सरणी में मेरे पास एक सरणी कुंजी है जो show_me_160
जैसा दिखता है, यह सरणी कुंजी थोड़ा बदल सकती है, इसलिए कभी-कभी पृष्ठ लोड हो सकता है और सरणी कुंजी शायद show_me_120
हो सकती है, मैं अब अंतिम _
तक सरणी कुंजी को स्ट्रिंग करना संभव है ताकि मैं जांच कर सकूं कि आखिरी अंडरस्कोर के बाद मूल्य क्या है?आंशिक स्ट्रिंग
उत्तर
एक समाधान मैं के बारे में सोच सकते हैं:
foreach($myarray as $key=>$value){
if("show_me_" == substr($key,0,8)){
$number = substr($key,strrpos($key,'_'));
// do whatever you need to with $number...
}
}
के लिए preg_metch पर array_map और कॉलबैक फ़ंक्शन का उपयोग करें, मैंने इसे जो काम किया है उसके लिए मैंने माना लेकिन मुझे संदेह है कि यह विशाल सरणी पर दर्दनाक रूप से धीमा होगा। – GordonM
आप अपने सरणी पर पुनरावृति करने के लिए अलग से प्रत्येक कुंजी की जाँच करने के लिए होगा, क्योंकि आप सीधे सरणी क्वेरी करने के लिए संभावना नहीं है (मैं यह सोचते हैं रहा हूँ सरणी भी पूरी तरह से असंबंधित कुंजी रखती है, लेकिन आप if
भाग को छोड़ सकते हैं, तो उस मामले) नहीं है:
foreach($array as $k => $v)
{
if (strpos($k, 'show_me_') !== false)
{
$number = substr($k, strrpos($k, '_'));
}
}
हालांकि, इस डेटा भंडारण की एक बहुत ही अजीब तरीके से की तरह लगता है, और अगर मैं तुम्हें थे, मैं डी जांचें कि क्या कोई अन्य तरीका नहीं है (अधिक कुशल)
foreach($array as $str) {
if(preg_match('/^show_me_(\d+)$/',$str,$m)) {
echo "Array element ",$str," matched and number = ",$m[1],"\n";
}
}
यह मेरी स्थिति में मेरे लिए काम करता है, हालांकि ध्यान दें कि यह पंक्ति: 'if (strpos ($ k, 'show_me_')! == false) 'होना चाहिए' अगर (स्ट्रॉप्स ($ v, 'show_me_')! == झूठा) ' – freestate
तुम भी एक preg_match
आधारित समाधान का उपयोग कर सकते हैं।
$value = $my_array[current(preg_grep('/^show_me_/', array_keys($my_array)))];
मैं हाल ही में एक ऐसी ही समस्या का सामना किया: अपने आवेदन में चारों ओर डेटा पास करने का)
foreach($myarray as $key=>$value)
if(count(explode('show_me_',$event_key)) > 1){
//if array key contains show_me_
}
अधिक जानकारी (उदाहरण):: यह है कि मैं क्या लेकर आए हैं
यदि सरणी कुंजी 'show_me_' शामिल
$ उदाहरण = विस्फोट ('show_me_', ' show_me_120 ');
print_r ($ उदाहरण)
Array ([0] => [1] => 120)
print_r (गिनती ($ उदाहरण))
2
print_r ($ उदाहरण [1])
120
क्या आप विस्तार से समझा सकते हैं कि कोड का यह टुकड़ा क्या है? –
यदि सरणी कुंजी में 'show_me_' $ example = विस्फोट ('show_me _', 'show_me_120') शामिल है; $ उदाहरण है: सरणी ([0] => [1] => 120) गिनती ($ उदाहरण) है: ** 2 ** $ उदाहरण [1] है: ** 120 * * – user5510975
यदि आप सबस्ट्रिंग या स्ट्रॉप्स का उपयोग कर सकते हैं, तो आपको दो कार्यों (विस्फोट और गिनती) की आवश्यकता क्यों है? –
- 1. जावा स्ट्रिंग [] आंशिक प्रतिलिपि
- 2. मिलान आंशिक स्ट्रिंग
- 3. स्ट्रिंग आंशिक तुलना
- 4. आंशिक रूप से List.contains (स्ट्रिंग)
- 5. स्काला मामले मैच आंशिक स्ट्रिंग
- 6. पायथन लॉगिंग फॉर्मेटर्स में आंशिक स्ट्रिंग स्वरूपण
- 7. आंशिक
- 8. आंशिक
- 9. आंशिक दृश्य
- 10. सी # ऐरे में आंशिक
- 11. पायथन - आंशिक स्ट्रिंग के आधार पर सूची में इंडेक्स स्थिति
- 12. एक आंशिक आईडी स्ट्रिंग द्वारा हो रही तत्वों जावास्क्रिप्ट में
- 13. आंशिक के अंदर आंशिक सामग्री = उपज
- 14. स्केल आंशिक फ़ंक्शन कब आंशिक फ़ंक्शन नहीं होता है?
- 15. एक आंशिक
- 16. आंशिक दृश्य
- 17. आंशिक वर्ग
- 18. आंशिक इटैलिक,
- 19. आंशिक कर्ल
- 20. आंशिक दृश्य
- 21. आंशिक विषय
- 22. आंशिक तर्क
- 23. आंशिक दृश्य
- 24. आंशिक वर्ग
- 25. आंशिक दृश्य
- 26. रेल आंशिक
- 27. आंशिक अद्यतन
- 28. आंशिक धारा
- 29. आंशिक विशेषता
- 30. आंशिक तारों को खोजना PHP
आप एक दे सकते हैं उदाहरण? – Gumbo
'_show_me _ ([\ d]) + # ' – Hannes