• ベストアンサー

array_fill について php

<?php $a = array_fill(-2, 4, 'pear'); print_r($a); ?> Array ( [-2] => pear [0] => pear [1] => pear [2] => pear ) 出力結果なのですが、配列で[-1]がないのはなぜでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こちらも http://php.net/manual/ja/language.types.array.php 注意: 上記のように、キーを省略して新規要素を追加する場合、 追加される数値添字は、使用されている添字の最大値 +1 (ただし、少なくとも 0 以上) になります。 まだ数値添字が存在しない場合は、添字は 0 (ゼロ) となります。 警告 PHP 4.3.0 以降、上記のような添字生成動作は変更されました。 現在では、配列に追加する際に、 その配列の最大添字が負である場合は次の添え字はゼロ (0) となります。 以前は、正の添字の場合と同様に新しい添字は最大添字に +1 したものがセットされました。 ------------------------------------ /*マイナスのキー使ったことがなかったので私も知りませんでした。勉強なりました*/

carax1251
質問者

お礼

ありがとうございます。 助かりました。

その他の回答 (1)

回答No.1

何故かと問われたら、仕様ですとしか・・・。

参考URL:
http://php.net/manual/ja/function.array-fill.php
carax1251
質問者

お礼

ありがとうございました。