2012-06-04 3 views
0

Я пытаюсь использовать strlen или что-то в этом роде, чтобы посчитать несколько наборов символов в строке. Вот база данных строкаCount несколько символов php

xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc 

Я получаю строку из базы данных, и я хочу, чтобы подсчитать количество

«ха» «ХВ» «XD», и «х», что строка содержит.

Я предполагаю, что могу считать первый xa, затем xb, затем xd, затем xe с strlen, а затем добавить цифры, но нет ли более простого способа?

Пожалуйста, помогите!

+3

http://php.net/manual/en/function.substr-count.php – Vishnu

ответ

2

Вы открыты для preg_match_all решения?

echo preg_match_all('/x(a|b|d|e)/', $message, $matches) 

От docs:

Возвращает количество полного шаблона соответствует (который может быть равен нулю), или FALSE, , если произошла ошибка.

Хотя это возвращает агрегированных количество xa,xb,xd and xe, а не отдельные одни

Если вам необходимо получить отдельные из них, вам нужно еще один шаг с array_count_values:

$sums = array_count_values($matches[0]); 
print_r($sums); 
+0

@RepWhoringPeeHaa да ... Я буду думать о другом решении, которое уже не упоминается ниже. Благодаря! –

+0

Я хочу, чтобы все цифры были объединены. Так что это может сработать! – oBo

+0

@ user1430587 Отредактировал свой ответ, чтобы получить индивидуальные ответы :) –

1

Попробуйте это один.

$string ="xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc"; 

echo substr_count($string, 'xa')."<br>"; 
echo substr_count($string, 'xb')."<br>"; 
echo substr_count($string, 'xc')."<br>"; 
echo substr_count($string, 'xd')."<br>"; 
+0

@RepWhoringPeeHaa, на который он 'xc' рассмотрел: p –

+0

Ага пропустил этот :) – PeeHaa

Смежные вопросы