I'm working to fix some old code that triggers a warning on PHP 7.2.0, beacause each() is deprecated.
I tried to replace each() with foreach() like the following, but it doesn't work.
I found some answers on StackOverflow, but none with a straight pure return as in the old code I'm trying to fix.
Old code that needs to be updated (works well, but triggers a warning):
if ($n > 0){
if ($n !== count($array)){
return (bool) each($array);
}
}
What I tried (and doesn't work):
if ($n > 0){
if ($n !== count($array)){
foreach($array as $key => $value) {
return (bool) $value;
}
unset($value);
}
}
Any help is appreciated, thank you :)
It seems like the php team encourages you to manage array pointers yourself. you can replace the original array with an ArrayIterator wrapper.
Then your code can be updated by using this iterator.
Another approach is
currentandnextare not deprecated yet, so you can use them to replace theeachfunction