2017-04-10 81 views
-1

的關聯數組的每個詞的出現次數,讓所述陣列是作爲PHP:計數在字符串

{ 
element [0] = 'Mary', 
element [1] = 'Mary had a little', 
element [2] = 'a lamb', 
element [3] = 'Mary mary mary', 
. 
. 
element [n] = 'lady' 
} 

輸出:

Mary : 5 
a : 2 
had : 1 
little : 1 
lady : 1 
+0

你可能每個字存儲到與一個正則表達式的數組,然後使用http://php.net/manual/en/function.array-count-values.php計數唯一身份......或者你可以迭代並在空間上爆炸。 – chris85

+0

請顯示您迄今嘗試過的內容 –

+0

$ result = mysqli_query($ connection,$ query4); $ json = mysqli_fetch_all($ result,MYSQLI_ASSOC); echo json_encode($ json); – Lubi

回答

2

PHP code demo

<?php 
$array=array(
0 => 'Mary', 
1 => 'Mary had a little', 
2 => 'a lamb', 
3 => 'Mary mary mary', 
4 => 'lady' 
); 
$data=array(); 
foreach($array as $sentence) 
{ 
    //gatering words in an array by spliting the sentence on space. 
    $data= array_merge($data,explode(" ", $sentence)); 
} 
//counting values present in array for case sensitive 
$result=array_count_values($data); 
print_r($result); //Result 1 

//counting values present in array for case insensitive by changing each array element to lowercase 
$result=array_count_values(array_map("strtolower", $data)); 
print_r($result); //Result 2 

輸出:

//result 1 
Array 
(
    [Mary] => 3 
    [had] => 1 
    [a] => 2 
    [little] => 1 
    [lamb] => 1 
    [mary] => 2 
    [lady] => 1 
) 
//result 2 
Array 
(
    [mary] => 5 
    [had] => 1 
    [a] => 2 
    [little] => 1 
    [lamb] => 1 
    [lady] => 1 
) 
+0

儘管這段代碼可以解決這個問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – Rizier123

+0

@Rizier加解釋 –