サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
動的配列の例です。
◆環境OS | Windows XP Professional Version 2002 Service Pack 2 |
---|---|
PHP | 5.2.4 |
引数$argvの内容を全て配列に格納するようにします。 格納する配列はサイズを指定せず$ar[]としています。
arrayTest.php | ||
|
◆実行結果
>php arrayTest.php
0:[arrayTest.php]
>php arrayTest.php 1 2 3
0:[arrayTest.php]
1:[1]
2:[2]
3:[3]
0:[arrayTest.php]
>php arrayTest.php 1 2 3
0:[arrayTest.php]
1:[1]
2:[2]
3:[3]
すごい簡単ですね。
いきなり、添え字付き変数を表示したらどうなるのでしょうか?
arrayTest2.php | ||
|
◆実行結果
>php arrayTest2.php
0:[]
1:[scary php!!]
0:[]
0:[]
1:[scary php!!]
0:[]
不思議な結果が出ました。
まず、いきなり $buf[3] を表示したときは、配列サイズは 0 で中身も空。 $buf[3] に値を導入した後は、配列サイズが 1 で $buf[3] にはちゃんと値が入ってる。 配列の要素を全て表示しようとして、for 文で配列サイズ分表示しようとすると、$buf[0] を表示するため、値が空。 予想だと、いきなり $buf[3] に値をセットした場合、配列サイズは 4 になると思ったのですが、実際は 1 でした。
添え字は 3 だけど、実際には 3 番目に入っているのではなく、連想配列と同じ扱いなのでしょうか?
連想配列の内容を表示するコードを追加して再度試してみます。
arrayTest3.php | ||
|
◆実行結果
>php arrayTest3.php
0:[]
1:[scary php!!]
0:[]
key=[3] value=[scary php!!]
0:[]
1:[scary php!!]
0:[]
key=[3] value=[scary php!!]
表示されました。 連想配列扱いになってるようですね。
Copyright (C) 2012 ymlib.com