0

strlen文字列内の複数の文字セットをカウントするために、またはそのようなものを使用しようとしています。これがデータベース文字列です

xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc

データベースから文字列を取得し、の数を数えたい

文字列に含まれる「xa」「xb」「xd」および「xe」。

最初にxa、xb、xd、xeの順に数えstrlen、次に数字を足すことができると思いますが、もっと簡単な方法はありませんか?

助けてください!

4

3 に答える 3

2

あなたはpreg_match_all解決策を受け入れていますか?

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

ドキュメントから:

完全なパターン一致の数(ゼロの場合もあります)を返します。エラーが発生した場合はFALSEを返します。

これは、個々の数ではなく、の合計数を返しますがxa,xb,xd and xe

個別のものを入手する必要がある場合は、次の手順を実行する必要がありますarray_count_values

$sums = array_count_values($matches[0]);
print_r($sums);
于 2012-06-04T08:23:58.057 に答える
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>";
于 2012-06-04T08:26:52.523 に答える
0

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

$text = "xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc";
echo substr_count($text, 'xa');
echo substr_count($text, 'xb');
echo substr_count($text, 'xd');
于 2012-06-04T08:23:03.340 に答える