Movable Type の配列変数のコピーの仕方

2016-09-20
1分で読了
更新: 2025-12-14

目次

Movable Type で配列の変数をコピーする時は注意が必要です。

例えば、下記のようにして配列を作ります。





この配列の要素数を下記のように出力すると、

チーム1に登録された選手は「」人です。

出力結果は、

チーム1に登録された選手は「3」人です。

となります。この team1 配列変数を team2 にコピーします。このとき、下記のようにコピーしてみます。


team2 の要素数を出力してみようとしたところ、

チーム2に登録された選手は「」人です。

出力結果は、

チーム2に登録された選手は「バッジョクライフジーコ」人です。

となってしまいます。つまり、配列変数を mt:Var してしまうと文字列になってしまい、その文字列が team2 にセットされてしまったのです。

配列をコピーする時は下記のようにします。


こうすると、

チーム2に登録された選手は「」人です。

の出力結果は、

チーム2に登録された選手は「3」人です。

となります。

なお、このコピーが配列変数の参照のコピーなのか、値そのもののコピーなのかを調べてみます。


このように team1 にだけ選手を追加して team1team2 を出力してみると、

チーム1に登録された選手は「」人です。
チーム2に登録された選手は「」人です。

結果は、

チーム1に登録された選手は「4」人です。
チーム2に登録された選手は「3」人です。

となり、元の配列を参照しているわけではなく、新たに配列が作られたことが分かります。

最後にコードをまとめておきます。






チーム1に登録された選手は「」人です。

===== この方法はNG
 
=====





チーム1に登録された選手は「」人です。
チーム2に登録された選手は「」人です。

以上です。

この記事をシェア

関連記事