0

あらゆる種類のシーケンスとエスケープを試しましたが、うまくいきませんでした。Preg_replace は を無視し、$iの後の整数+をその置換として使用しています。

最初の例:

$i = 1;
$s = preg_replace( '/\[$/', '${' . $i + 1 . ':[', $s );
var_dump( $s );

結果:${1:[ // should be 2

2 番目の例:

$i = 1;
$s = preg_replace( '/\[$/', '${' . $i + 9 . ':[', $s );
var_dump( $s );

結果:${9:[ // should be 10

追加しなくても問題なく動作します:

$i = 12;
$s = preg_replace( '/\[$/', '${' . $i . ':[', $s );
var_dump( $s );

結果:${12:[ // okay

4

1 に答える 1

1

連結の前に加算が行われるように、式をグループ化するには括弧が必要です。

$s = preg_replace( '/\[$/', '${' . ($i + 1) . ':[', $s );
于 2012-08-04T19:23:35.367 に答える