array_count_values
केवल पूर्णांकों और तार के लिए काम करता है। आप नाव/संख्यात्मक मान के लिए मायने रखता है चाहता हूँ के लिए हो (और आप सटीक या प्रतिनिधित्व में छोटे बदलाव के असावधान हैं), तो यह काम करता है:
function arrayCountValues($arr) {
$vals = [];
foreach ($arr as $val) { array_push($vals,strval($val)); }
$cnts = array_count_values($vals);
arsort($cnts);
return $cnts;
}
ध्यान दें कि मैं तारों के रूप में कुंजी के साथ $cnts
लौट आते हैं। उन्हें पुनर्स्थापित करना आसान होगा, लेकिन मैं मूल्यों के लिए मोड निर्धारित करने का प्रयास कर रहा हूं, इसलिए मुझे केवल पहले (कई) मानों को फिर से परिवर्तित करने की आवश्यकता है।
मैंने एक संस्करण का परीक्षण किया जो array_count_values
का उपयोग करने के बजाय गणना की एक सरणी बना रहा, और यह अधिक कुशल (शायद 8-10% तक) हो गया!
उत्तर देने के लिए धन्यवाद। :) –
क्या सरणी बहुआयामी है? –
@OkiErieRinaldi तो ओपी को प्रश्न को अद्यतन करने की आवश्यकता है। – James