これはマニュアルにも明記されています。この動作はPHP8.0で変更になります。indexというRFCにおいて変更が決定しました。なり、それ以降のインデックスはゼロから始まります』とあります。明示的に負のキーを使用し、その後キーを省略した場合は常にこのような動作になります。Proposal現在の動作は、最後の数値キーがnであった場合、次の暗黙キーはn>=0であればn+1、n<0であれば0ということになります。このRFCでは、nの符号に関係なく常にn+1とすることによって、この動作を一貫させることを目指しています。配列のドキュメントにもわざわざ注釈として書かれているように、これは例外的な動作であり、学習コストとなります。このプロポーザルはPHP8.0を対象としています。この変更により問題が発生する可能性がある場合、移行を容易にするために非推奨の通知を出すことも提案します。以下のコードは全て同じ結果になります。true;現在は全て以下のようになります。bool(true)}このRFCにより、以下の動作に変更になります。bool(true)}非推奨を出力する投票が受理された場合、移行フェーズ中は以下のE_DEPRECATEDを発生させます。Changes配列を負のインデックスから開始し、その後暗黙のキーを使い、そして明示的なキーで配列要素にアクセスした際に影響が発生します。explicitly'が出力されなくなります。Version(s)PHP8.0。Functionality明示的なキー、文字列のキーには影響しません。-1以上の数値インデックスを持つ配列も影響を受けません。最初から暗黙のキーを使う配列のインデックスは0から始まります。キーを使用しないforeachも影響を受けません。投票このRFCは賛成17反対2で可決されました。E_DEPRECATEDを出す提案は賛成8反対14で却下されました。PHP8.0で前触れなく突然動作が変更になります。感想PHP4.2から長い時を経て、元の鞘に戻ることになりました。当時のことは知らないので、どうして変更されたのかは全くわかりません。この仕様に依存する実装をしている人なんていないでしょう。実質的な影響はほぼゼロです。そもそもネガティブスタートの配列って何に使うんだろうか?ただ、MySQLのAUTO_INCREMENTもマイナスは使えないですし、あえて変更する必要があるのかは少し疑問です。あと配列をコピーしたら何かおきそうで少し楽しみですね。requestStockLike10@rana_kualu不労所得で生きたい。upLoginユーザーは見つかりませんでした。