0

私はこの文字列を持っています: $delims = ',^.;:\t'(これはpreg_replace()呼び出しで使用されます)。
2 つの配列が必要です。1 つはこれらの区切り文字をインデックスとして使用し ( $delimCount)、もう 1 つはこれらの区切り文字を値として使用します ( $delimiters)。

前者は後者のループ内から割り当てられた値を取得します..そのように:

foreach ($delimiters as $delim) { 
    if( strpos($char, $delim) !== false) { // if the char is the delim ...
        $delimCount[$delim]++; // ... increment
    }
}

私が今持っている方法は面倒です。その文字列を2つの配列に単純に分割したいのですが、\t区切り文字につまずいてしまいます(2文字の唯一のものだからです)。
どうすればそれを処理できますか?

4

3 に答える 3

0

タブキーに問題がある場合は、文字自体の代わりに序数の文字をキーとして使用できます。$delim = "\t"; $delimCount[ ord($delim) ]++;

便利な補完関数:ord()chr()

于 2012-07-11T14:17:16.817 に答える
0

2 つの配列が必要です.1 つはこれらの区切り文字をインデックス ($delimCount) とし、もう 1 つはそれらの区切り文字を値 ($delimiters) として使用します。

さて、$delimiters はどこから来たのでしょうか? 自分で書いたの?もしそうなら、どのような場合でも $delimiters を配列にして、preg_replace で使用する場合は implode を使用する方がよいと私は主張します。

于 2012-07-11T13:56:06.757 に答える