php - Case sort by A-Z Ascending and 0-9 Descending? -


मेरे पास छवि एरे हैं जैसे

  [images] = & gt; सरणी ([0] = & gt; /var/www/httpdocs/images/products/detail/10396-alt-1.jpg [1] = & gt; / var / www / httpdocs / images / उत्पादों / विस्तार / 10,396-मुख्य -599.jpg) [छवियाँ] = & gt; सरणी ([0] = & gt; /var/www/httpdocs/images/products/category/10167-main-354.jpg [1] = & gt; / var / www / httpdocs / images / उत्पादों / विस्तार / 10,167-alt -1.jpg [2] = & gt; /var/www/httpdocs/images/products/detail/10167-alt-2.jpg [3] = & gt; / var / www / httpdocs / चित्र / उत्पादों / श्रेणी / 10168 -मैन -361.जेपीजी [4] = & gt; /var/www/httpdocs/images/products/category/10168-main-360.jpg)  

कि मैं सॉर्ट करना चाहूंगा Basename द्वारा, लेकिन एक निश्चित तरीके से अल्फ़ानम द्वारा भी

अल्फा द्वारा आरोही (za) सॉर्ट करने के बाद मुझे हमेशा पहले 5 अंकों को क्रमबद्ध करके सॉर्ट करना होगा I मैं यह कैसे पूरा होगा?

नमूना आउटपुट इस तरह होना चाहिए

  [छवियाँ] = & gt; सरणी ([0] = & gt; /var/www/httpdocs/images/products/detail/10396-main-599.jpg [1] = & gt; / var / www / httpdocs / images / उत्पादों / विस्तार / 10,396-alt -1.jpg) [छवियाँ] = & gt; सरणी ([0] = & gt; /var/www/httpdocs/images/products/category/10167-main-354.jpg [1] = & gt; / var / www / httpdocs / images / उत्पादों / श्रेणी / 10168-मुख्य -360.jpg [2] = & gt; /var/www/httpdocs/images/products/category/10168-main-361.jpg [3] = & gt; / var / www / httpdocs / images / उत्पादों / विस्तार / 10,167 -लाल-1.jpg [4] = & gt; /var/www/httpdocs/images/products/detail/10167-alt-2.jpg)  

10396-main-599
  • '-' के साथ फ़ाइल नाम विभाजित करें एक सेपरेटर 10396 , मुख्य , 599
  • तुलनात्मक फ़ंक्शन का उपयोग करके क्रमित पथ

      समारोह is_path_less ($ split_path1, $ split_path2) {अगर ($ split_path1 [0] == $ split_path2 [0]) {अगर ($ split_path1 [1] == $ split_path2 [1]) {$ split_path1 [2 वापसी ] & Lt; $ Split_path2 [2]; } और {वापसी $ split_path1 [1] & gt; $ Split_path2 [1]; }} और {वापसी $ split_path1 [0] & lt; $ Split_path2 [0]; }}  
  • जहां $ split_path1 और $ split_path2 हैं ["10396", "main" , "59 9"] और ["10396", "alt", "1"]

    परिणाम होगा:

      ["10396", "मुख्य", "599"] ["10396", "alt", "1"]  

    Comments