substr_replace( array $array, mixed $replacement, mixed $start[, mixed $length ] )
は、配列の値の置換開始位置から、置換終了位置までの、部分文字列を置き換える組み込み関数。
文字列の一部置換については、こちら。
定義
パラメータ
- 配列型 $string
値の一部を置き換えたい配列を指定する。
- 多様な型 $replacement
置換文字列を指定する。
配列で指定することもできる。
- 多様な型 $start
置換開始位置。
正数を指定した場合、「文字列型 $string」の先頭から数えた位置を、置換開始位置とする。
負数を指定した場合、「文字列型 $string」の末尾から数えた位置を、置換開始位置とする。
配列で指定することもできる。
- 多様な型 $length
正数を指定した場合、置き換える長さ(バイト数)。
負数を指定した場合、「文字列型 $string」の末尾から数えた位置を、置換終了位置とする。
配列で指定することもできる。
戻り値
部分文字列を置き換えた後の文字列。
「多様な型 $string」が、配列の場合、配列を返す。
構文
置換開始位置を指定し、配列の値の一部を置換
「配列」の値の「置換開始位置」から「配列」の値の末尾までの、一部を置き換える。
「置換開始位置」に負数を指定した場合、「配列」の値の末尾から数えた位置を、置換開始位置とする。
置換開始位置と長さを指定し、配列の値の一部を置換
「配列」の値の「置換開始位置」から「長さ」分の、一部を置き換える。
「置換開始位置」に負数を指定した場合、「配列」の値の末尾から数えた位置を、置換開始位置とする。
置換開始位置と置換終了位置を指定し、配列の値の一部を置換
「配列」の値の「置換開始位置」から「置換終了位置」までの、一部を置き換える。
「置換終了位置」は、負数で指定する。負数で指定することで、「配列」の値の末尾から数えた位置を、置換終了位置とすることができる。
「置換開始位置」に負数を指定した場合、「配列」の値の末尾から数えた位置を、置換開始位置とする。
サンプル
配列の値の一部を置換(1)
<?php
$varArray = array( "color: red", "color: blue", "color: green",);
print_r( substr_replace( $varArray, " is ", 5, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
(
[0] => color is red
[1] => color is blue
[2] => color is green
)
配列の値の一部を置換(2)
置換文字列も配列で指定。
<?php
$varArrayA = array( "color: red", "color: blue", "color: green" );
$varArrayB = array( "赤色", "青色", "緑色" );
print_r( substr_replace( $varArrayA, $varArrayB, 7 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
(
[0] => color: 赤色
[1] => color: 青色
[2] => color: 緑色
)
配列の値の一部を置換(3)
置換開始位置も配列で指定。
<?php
$varArrayA = array( "red: aka", "blue: ao", "green: midori" );
$varArrayB = array( "赤色", "青色", "緑色" );
$varArrayC = array( 5, 6, 7 );
print_r( substr_replace( $varArrayA, $varArrayB, $varArrayC ) );
?>
</pre>
↓↓↓出力結果↓↓↓
(
[0] => red: 赤色
[1] => blue: 青色
[2] => green: 緑色
)
配列の値の一部を置換(4)
置き換える長さも配列で指定。
<?php
$varArrayA = array( "red: aka;", "blue: ao;", "green: midori;" );
$varArrayB = array( "赤色", "青色", "緑色" );
$varArrayC = array( 5, 6, 7 );
$varArrayD = array( 3, 2, 6 );
print_r( substr_replace( $varArrayA, $varArrayB, $varArrayC, $varArrayD ) );
?>
</pre>
↓↓↓出力結果↓↓↓
(
[0] => red: 赤色;
[1] => blue: 青色;
[2] => green: 緑色;
)
配列の値の一部を置換(5)
置換終了位置も配列で指定。
<?php
$varArrayA = array( "red: aka;", "blue: ao;", "green: midori;" );
$varArrayB = array( "赤色", "青色", "緑色" );
$varArrayC = array( 5, 6, 7 );
$varArrayD = array( -1, -1, -1 );
print_r( substr_replace( $varArrayA, $varArrayB, $varArrayC, $varArrayD ) );
?>
</pre>
↓↓↓出力結果↓↓↓
(
[0] => red: 赤色;
[1] => blue: 青色;
[2] => green: 緑色;
)