PHP 7.4'e geçiş yaparken reset(), ArrayObject gibi current()ya da end()ArrayObject ile ilgili bazı dizi işlevlerinin farklı bir davranışıyla uğraşmak zorundayım . Aşağıdaki örnek farklı çıktılar üretir:
<?php
$array = new \ArrayObject(["a", "b"]);
$item = end($array);
var_dump($item);
$array = ["a", "b"];
$item = end($array);
var_dump($item);
İle php 7.4 çıktısı:
bool(false)
string(1) "b"
7.4'ten önceki PHP sürümlerinde çıktı aşağıdaki gibidir:
string(1) "b"
string(1) "b"
A end($array->getArrayCopy())bir uyarı oluşturur, ancak bir değişkenle kullanılırsa geçici bir çözüm olabilir.
end()Bir ArrayObjectveya ile davranışını taklit etmenin bir yolu var mı ArrayIterator? ArrayObject çok büyük olabilir, sonuna kadar bir yineleme en iyi çözüm olmayabilir.
$item = $array[count($array)-1];. Bunun en verimli çözüm olup olmadığından emin değilim.