-1

ループcharacters_to_eliminate内の各文字列の最初の文字を削除するにはどうすればよいですか?foreach編集:characters_to_eliminate3つのランダムな文字であり、常に同じであるとは限りません。6行目で私は試します:

$val = substr($val, 3);

ただし、配列の最初の値の最初の3文字のみを削除します。

function multiexplode ($delimiters,$string) {
    $ary = explode($delimiters[0],$string);
    array_shift($delimiters);
    if($delimiters != NULL) {
        foreach($ary as $key => $val) {
            $ary[$key] = multiexplode($delimiters, $val);
        }
    }
    return  $ary;
}

// Example of use
$string = "characters_to_eliminate abc, characters_to_eliminate def: characters_to_eliminate ghi, characters_to_eliminate jkl";
$delimiters = Array(",",":");

$res = multiexplode($delimiters,$string);
echo '<pre>';
print_r($res);
echo '</pre>';
4

2 に答える 2

1

試すforeach($ary as $key => &$val)

ループ内の配列要素を直接変更できるようにするために、前$valueに。を付け&ます。その場合、値は参照によって割り当てられます。( http://php.net/manual/en/control-structures.foreach.php経由)

于 2013-03-08T19:39:26.607 に答える
0

str_replace()

$string = str_replace('characters_to_eliminate ', '', $string); // abc, def: ghi, jkl
于 2013-03-08T19:40:43.720 に答える