सॉर्ट करना मुझे पता है कि प्राकृतिक क्रम में सरणी तत्वों को सॉर्ट करने के लिए php में natsort() और natcasesort() फ़ंक्शन हैं। मैं निम्नलिखित मदों को हल करने की कोशिश कर रहा हूं।एक php सरणी को क्रमबद्ध रूप से
array[0]= '10. xyz';
array[1]= '13. xyz';
array[2]= '2. xyz';
array[3]= '1a. xyz';
array[4]= '6. xyz';
array[5]= '1b. xyz';
array[6]= '4a. xyz';
array[7]= '4b. xyz';
अब अगर मैं natsort(), '10 .. 'और '13 ..' लागू करता हूं तो '1a ..' से ऊपर रखा गया है। मैं अपने PHP कोड को यह सोचने के लिए कैसे बना सकता हूं कि '10 .. '' 1a ... 'और' 1a ... 'से अधिक है शीर्ष पर होना चाहिए? मेरी विशेष मामले में सही उत्पादन होता है:
'1a. xyz';
'1b. xyz';
'2. xyz';
'4a. xyz';
'4b. xyz';
'6. xyz';
'10. xyz';
'13. xyz';
मैं एक कस्टम algo थे, लेकिन यह एक ही है ... यह 1 ए 'से पहले' '10 देता है .. ... '। यहाँ अपने कस्टम समारोह:
function cmp($a, $b) {
$a_ex=explode(".",$a);
$b_ex=explode(".",$b);
if ($a_ex[0] == $b_ex[0]) {
return 0;
}
return ($a_ex[0] < $b_ex[0]) ? -1 : 1;
}
केवल usort ..... – idm
के रूप में दूसरों को तैनात किया है, 'natsort()' मेरे लिए काम करता सकते हैं। आप PHP का किस संस्करण का उपयोग कर रहे हैं? – Hammerite