Условия:
Open Server Panel 5.2.9
PHP 7.2.0 (x64)
JBDump 1.5.3
Joomla 3.9.5
Файл: domain/templates/name/html/mod_menu/default.php
ПРОБЛЕМА
1-й вариант кода:
foreach ($list as $i => &$item) { jbdump($i,1); ... }
В этом случае, при выводе значении первого ключа jbdump($i,1) ведёт себя так, как если бы он совсем отсутствовал в этом месте кода. При этом функции print_r, var_dump и echo правильно выводят значение переменной $i.
Начиная со второго массива значения ключей выводятся правильно уже и JBDump.
2-й вариант кода:
foreach ($list as $i => &$item) { jbdump("$i",1); ... }
В этом случае, JBDump правильно выводит значение первого ключа, но определяет его тип, естественно, как string.
Маловероятно, что это ошибка отладчика, тогда как объяснить это нелепое поведение JBDump?
...
В этом случае, значение первого ключа JBDump выводит правильно, определяя его тип, как string.