2010-06-06 9 views
15

मुझे स्ट्रिंग में शब्दों के उदाहरणों को सॉर्ट करने और गिनने में सहायता चाहिए।php: दिए गए स्ट्रिंग में शब्दों के उदाहरणों को क्रमबद्ध करें और गिनें

चलें कहते हैं कि मैं शब्दों पर एक संग्रह है:

खुश सुंदर खुश लाइनों नाशपाती जिन खुश लाइनों रॉक खुश लाइनों नाशपाती

मैं कैसे php का उपयोग कर सकते में हर शब्द के प्रत्येक उदाहरण गिनती करने के लिए स्ट्रिंग और यह उत्पादन एक पाश में:

There are $count instances of $word 

ताकि ऊपर पाश होगा उत्पादन:

खुश होने के 4 उदाहरण हैं।

लाइनों के 3 उदाहरण हैं।

जिन के 2 उदाहरण हैं कर रहे हैं ....

उत्तर

50

str_word_count() और array_count_values() का एक संयोजन का उपयोग करें:

$str = 'happy beautiful happy lines pear gin happy lines rock happy lines pear '; 
$words = array_count_values(str_word_count($str, 1)); 
print_r($words); 

देता

Array 
(
    [happy] => 4 
    [beautiful] => 1 
    [lines] => 3 
    [pear] => 2 
    [gin] => 1 
    [rock] => 1 
) 

1str_word_count() में समारोह में आता है सभी पाए गए शब्दों की एक सरणी वापस करें।

प्रविष्टियों को क्रमबद्ध करने के लिए, arsort() का उपयोग करें (यह कुंजी को बरकरार रखता है):

arsort($words); 
print_r($words); 

Array 
(
    [happy] => 4 
    [lines] => 3 
    [pear] => 2 
    [rock] => 1 
    [gin] => 1 
    [beautiful] => 1 
) 
+0

वाह, यह चालाक था। –

+0

+1 वास्तव में ...... – zaf

+0

मैं इसे उच्चारण शब्द के साथ कैसे उपयोग कर सकता हूं? उदाहरण: एपी –

5

इस प्रयास करें:

$words = explode(" ", "happy beautiful happy lines pear gin happy lines rock happy lines pear"); 
$result = array_combine($words, array_fill(0, count($words), 0)); 

foreach($words as $word) { 
    $result[$word]++; 
} 

foreach($result as $word => $count) { 
    echo "There are $count instances of $word.\n"; 
} 

परिणाम:

There are 4 instances of happy. 
There are 1 instances of beautiful. 
There are 3 instances of lines. 
There are 2 instances of pear. 
There are 1 instances of gin. 
There are 1 instances of rock. 
संबंधित मुद्दे