Under the Bridge

a Picture of the Late Him

MT4.1:配列サンプル(配列の先頭・末尾からデータ取得・削除)

2008年1月 6日 12:15 | Writer: yoshi | 記事本文 | コメント(0) | トラックバック(0)

MT4.1(Movable Type4.1)での、配列の先頭・末尾からデータ取得・削除を行うサンプル。

サンプルコード


<MTSetVar name="chrData[0]" value="あいうえお">
<MTSetVar name="chrData[1]" value="かきくけこ">
<MTSetVar name="chrData[2]" value="さしすせそ">
<MTSetVar name="chrData[3]" value="たちつてと">
<MTSetVar name="chrData[4]" value="なにぬねの">
<MTSetVar name="chrData[5]" value="はひふへほ">

要素数:<MTGetVar name="count(chrData)">
結果の出力1
<mt:for var="x" from="0" to="5">
    <MTGetVar name="x">番目のデータ:<MTGetVar name="chrData[$x]">
</mt:for>

先頭・末尾のデータ取得と削除
先頭データ:<MTGetVar name="shift(chrData)">
末尾データ:<MTGetVar name="pop(chrData)">

要素数:<MTGetVar name="count(chrData)">
結果の出力2
<mt:for var="x" from="0" to="3">
    <MTGetVar name="x">番目のデータ:<MTGetVar name="chrData[$x]">
</mt:for>

出力結果

要素数:6

結果の出力1

0番目のデータ:あいうえお

1番目のデータ:かきくけこ

2番目のデータ:さしすせそ

3番目のデータ:たちつてと

4番目のデータ:なにぬねの

5番目のデータ:はひふへほ


先頭・末尾のデータ取得と削除

先頭データ:あいうえお

末尾データ:はひふへほ


要素数:4

結果の出力2

0番目のデータ:かきくけこ

1番目のデータ:さしすせそ

2番目のデータ:たちつてと

3番目のデータ:なにぬねの

結果と考察

「結果の出力1」は、配列でデータを6個準備した結果をそのまま出力している。

「結果の出力2」は、shiftとpopを実行した後の配列を出力している。

MTGetVar name="shift(chrData)を実行すると、配列の先頭データが取得され、配列からはその要素が削除される。対してMTGetVar name="pop(chrData)を実行すると、配列の末尾データが取得され、配列からはその要素が削除される。

配列は要素が削除された後、インデックスを振りなおされる。つまり「あいうえお」と「はひふへほ」が削除された後は、「かきくけこ」がchrData[0]となり、以下「さしすせそ」がchrData[1]、「たちつてと」がchrData[2]、「なにぬねの」がchrData[3]となる。

配列から先頭データや末尾データを取得したいシーンは少しはあると考えられるが、その場合は別の配列へ元配列をコピーしてshift・popを実行したほうがよさげである。また、MTForで使用するtoの数値は、当然変更せねばいけない。shift・popを使用すると、データが削除され、インデックスが変化することを知らずに安易に使用するとはまりそうな予感。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MT4.1:配列サンプル(配列の先頭・末尾からデータ取得・削除)

このブログ記事に対するトラックバックURL:

コメントする






Categories
Entries
Feed
スポンサードリンク

parts

フィードメーター - Under the Bridge

あわせて読みたい

なかのひと

2008年4月5日開催、MT4LP5

2008 yoshi(apstar)