2015-01-27 3 views
-5

У меня есть массив переменных строк, и я хочу подсчитать все запятые и найти общие запятые во всех строках. Я знаю, что я должен использовать взорваться и Еогеасп, но не знаю, как поставить их вместе и как добавить все запятые в конце ...php count words в массиве переменных

$log1 = "one, two, three,"; 

$log2 = "red, blye, green,"; 

$log3 = "sunny day, snowy day, nice one,"; 

$main_log = array(log1, log2, log3); 
+0

Как у планирующим конечный результат будет? Что вы ожидаете от '$ main_log'? – bayblade567

+0

просто число как переменная, например $ main_log, которая в случае выше будет 9 – Steve

+0

А что такое 'blye' color? :) –

ответ

1

Просьба внести исправления. Объедините все строки вместо того, чтобы вставлять их в массив так, как это было сделано в следующем коде;

$log1 = "one, two, three,"; 

$log2 = "red, blye, green,"; 

$log3 = "sunny day, snowy day, nice one,"; 

$main_log = $log1.$log2.$log3; 
echo substr_count($main_log, ','); //prints 9 
0
substr_count($string, ','); 

Для массива ... . решение @vp_arth «s будет работать ...

$log1 = "one, two, three,"; 

$log2 = "red, blye, green,"; 

$log3 = "sunny day, snowy day, nice one,"; 

$main_log = array($log1, $log2, $log3); 

$result= array_sum(array_map(function($str){ 
    return substr_count($str, ','); 
}, $main_log)); 


echo $result; 
+0

'substr_count()' будет работать только с строкой. '$ main_log' - это массив – Aditya

+0

Итак, вы хотите вернуть запятые в массив ... okay ... – bayblade567

+0

bayblade567 спасибо, agai, я попробовал, но это не сработало для меня! нет выхода ... – Steve

0

Измените код, как это -

$log1 = "one, two, three"; 
$log2 = "red, blye, green"; 
$log3 = "sunny day, snowy day, nice one"; 

$arr1 = explode(',', $log1); 
$arr2 = explode(',', $log2); 
$arr3 = explode(',', $log3); 


$main_log = array_merge($arr1,$arr2,$arr3); //Array merge 
$count = array_count_values($main_log); //Total count the array values 
1

Вы хотите считать запятые - просто это сделать:

array_sum(array_map(function($str){ 
    return substr_count($str, ','); 
}, $main_log)); 
0

Вот еще пара решений:

$log1 = "one, two, three,"; 
$log2 = "red, blye, green,"; 
$log3 = "sunny day, snowy day, nice one,"; 

$main_log = $log1.$log2.$log3; 

echo count(explode(',',$main_log))-1; 

echo substr_count($main_log, ','); 
Смежные вопросы