任意の要素を置換
配列の要素を置換する方法として「array_splice」関数を使用する方法や添え字のデータを指定して置換する方法などがあります。
「array_splice」関数の使い方 | array_splice(第1引数, 第2引数, 第3引数, 第4引数) | 「array_splice」関数は第1引数のデータを削除してから追加するイメージの関数です。 | 第1引数:データを指定 | 第2引数:第1引数のデータを削除する開始位置(0[ゼロ]がスタートです。) | 第3引数:第2引数から何個分を削除するか?を指定 | 第4引数:第2引数の位置から挿入するデータ | 第1引数に「"a", "b", "c"」を指定したとします。 | 第2引数を0とします(最初のデータである「a」の位置です) | 第3引数を1とします。 | 第4引数を「x」とします。 | 実行すると0は1番目の文字「a」を対象とします。 | 第3引数の1個分が削除対象です。 | このため「"b", "c"」となります。 | ここに追加する「x」を第2引数で指定した「0」の位置に挿入します。 |
|
array_splice関数の結果を見てください。
array_splice($array,0, 0, $data);
第3引数が0となっています。
すなわち、削除しないことを意味します。
そのため第2引数の「0」の開始位置に第4引数の$data変数(ここでは配列)の値をそのまま格納します。
このため、結果が [ x ,y ,z ,a ,b ,c ,d ,e ]となります。
array_splice($array,1, 1, $data);
上記例では第2引数が「1」です。0から始まるので「1」は2番目の位置となります。
そのため、2番目の文字を1個(第3引数より)削除します。
その結果が[ a ,c ,d ,e ]となります。
そして第2引数の位置に第4引数のデータを挿入します。
このようにarray_spliceを使うとデータを一度削除してから第4引数のデータを追加することにより置換を実装できることになります。
添え字をしていする方法は、いたってシンプルです。
[ a ,b ,c ,d ,e ]
上記のようなデータがあるとします。
配列の添え字は0からスタートします。
添え字「0」は「a」
添え字「1」は「b」
添え字「2」は「c」
添え字「3」は「d」
添え字「4」は「e」
添え字「1」を置換するには、そのまま配列[1]にデータを格納すればいいだけです。
$array[1] = "x";
結果 : [ a ,x ,c ,d ,e ]
このようにデータが入れ替わります。
さいごに、ここで使用してるユーザ定義関数を使うために2行目のように「include」しています。
ユーザ定義関数として作ったのは「printArrayList」関数です。
単に配列の中身を[]で囲んで表示する単純なものです。
|
|