Please take a look at this code:
$end = isset($newvar) ? array($newvar) : null;
while($ends = array_shift($end)){
...
It was working well when I was using PHP 7.2
, but after upgrading to 8.1
, it throws:
PHP Fatal error: Uncaught TypeError: array_shift(): Argument #1 ($array) must be of type array, null given in /path/to/qanda.php:469
Any idea how can I fix it?
Just use an empty array instead:
$end = isset($newvar) ? array($newvar) : [];
array_shift will return null
on the first call with an empty array as input, so the loop will not execute.