2017-04-10 85 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加解释 –