php 指定した範囲の値を置換する
phpで、array_spliceを使用して、指定した範囲の値を置換するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_splice使い方
array_spliceを使用すれば、指定した範囲の値を置換することが可能です。
array_splice(配列,開始位置,数,置換する値);
// 開始位置は0から
以下は、配列の指定した範囲の値を置換するサンプルコードとなります。
<?php
$arr = ["aaa", "bbb", "ccc", "ddd", "eee", "fff"];
// 開始位置bbb から 2つを置換
$result = array_splice($arr, 1, 2,["BBB","CCC"]);
print_r($result);
print_r($arr);
実行結果
[result]
Array
(
[0] => bbb
[1] => ccc
)
[arr]
Array
(
[0] => aaa
[1] => BBB
[2] => CCC
[3] => ddd
[4] => eee
[5] => fff
)
第二引数を「0」にすると、指定した位置の前に値が追加されます。
<?php
$arr = ["aaa", "bbb", "ccc"];
// 開始位置bbbの前に2つを追加
$result = array_splice($arr, 1, 0,["BBB","CCC"]);
print_r($result);
print_r($arr);
実行結果
[result]
Array
(
)
[arr]
Array
(
[0] => aaa
[1] => BBB
[2] => CCC
[3] => bbb
[4] => ccc
)
第四引数を省略すると削除されます。
<?php
$arr = ["aaa", "bbb", "ccc", "ddd", "eee", "fff"];
// 開始位置aaaから3つ
$result = array_splice($arr, 0, 3);
print_r($result);
print_r($arr);
実行結果
[result]
Array
(
[0] => aaa
[1] => bbb
[2] => ccc
)
[arr]
Array
(
[0] => ddd
[1] => eee
[2] => fff
)
また、開始位置をマイナスにすると後ろから数えることが可能です。
<?php
$arr = ["aaa", "bbb", "ccc", "ddd", "eee", "fff"];
// 開始位置後ろから2番目のeeeから2つ
$result = array_splice($arr, -2, 2,["EEE","FFF"]);
print_r($result);
print_r($arr);
実行結果
[result]
Array
(
[0] => eee
[1] => fff
)
[arr]
Array
(
[0] => aaa
[1] => bbb
[2] => ccc
[3] => ddd
[4] => EEE
[5] => FFF
)
また、範囲を超えてもエラーにならず、追加したい値が追加されます。
<?php
$arr = ["aaa", "bbb", "ccc", "ddd", "eee", "fff"];
// 範囲を超える
$result = array_splice($arr, 0, 10,["AAA", "BBB", "CCC", "DDD", "EEE", "FFF","GGG"]);
print_r($result);
print_r($arr);
実行結果
[result]
Array
(
[0] => aaa
[1] => bbb
[2] => ccc
[3] => ddd
[4] => eee
[5] => fff
)
[arr]
Array
(
[0] => AAA
[1] => BBB
[2] => CCC
[3] => DDD
[4] => EEE
[5] => FFF
[6] => GGG
)
-
前の記事
ASP.NET Core 簡単なDIを実装する 2021.09.13
-
次の記事
SQL Server Management Studio(SSMS) オートコミットモードをOFFに設定する 2021.09.13
コメントを書く