पीएचपी 7.4 की ओर पलायन को मैं जैसे कुछ सरणी कार्यों का एक अलग व्यवहार से निपटने के लिए reset()
, current()
या end()
ArrayObject के विषय में। निम्न उदाहरण विभिन्न आउटपुट उत्पन्न करता है:
<?php
$array = new \ArrayObject(["a", "b"]);
$item = end($array);
var_dump($item);
$array = ["a", "b"];
$item = end($array);
var_dump($item);
साथ php 7.4 उत्पादन होता है:
bool(false)
string(1) "b"
7.4 से पहले PHP संस्करण पर आउटपुट निम्न है:
string(1) "b"
string(1) "b"
एक end($array->getArrayCopy())
नोटिस का उत्पादन करता है, लेकिन अगर एक चर के साथ प्रयोग किया जाता है तो यह एक समाधान हो सकता है।
वहाँ एक या के end()
साथ व्यवहार का अनुकरण करने के लिए एक रास्ता है ? ArrayObject बहुत बड़ा हो सकता है, अंत तक एक पुनरावृत्ति सबसे अच्छा समाधान नहीं हो सकता है।ArrayObject
ArrayIterator
$item = $array[count($array)-1];
। यकीन नहीं तो सबसे कारगर उपाय है।