3v4l.org

run code in 300+ PHP versions simultaneously
<?php function loop($array) { echo '<ol class="dd-list">'; echo "\n"; foreach ( $array as $key => $value ) { echo '<li class="dd-item" data-id="' . $value . '">'; if(is_array($value)) { loop($value); } else { echo '<div class="dd-handle">' . $key . ' => ' . $value . '</div>'; } echo '</li>'; echo "\n"; } echo '</ol>'; } $testArray = array('1', '2', array('3', '4')); /* $arrayObj = new ArrayObject($testArray); foreach ( $iterator = $arrayObj->getIterator() as $key => $value ) { echo 'key ' . $iterator->key(); echo "\n"; echo 'current' . $iterator->current(); echo "\n"; echo "\n"; } */ loop($testArray);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
<ol class="dd-list"> <li class="dd-item" data-id="1"><div class="dd-handle">0 => 1</div></li> <li class="dd-item" data-id="2"><div class="dd-handle">1 => 2</div></li> Warning: Array to string conversion in /in/Iqp84 on line 7 <li class="dd-item" data-id="Array"><ol class="dd-list"> <li class="dd-item" data-id="3"><div class="dd-handle">0 => 3</div></li> <li class="dd-item" data-id="4"><div class="dd-handle">1 => 4</div></li> </ol></li> </ol>
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
<ol class="dd-list"> <li class="dd-item" data-id="1"><div class="dd-handle">0 => 1</div></li> <li class="dd-item" data-id="2"><div class="dd-handle">1 => 2</div></li> Notice: Array to string conversion in /in/Iqp84 on line 7 <li class="dd-item" data-id="Array"><ol class="dd-list"> <li class="dd-item" data-id="3"><div class="dd-handle">0 => 3</div></li> <li class="dd-item" data-id="4"><div class="dd-handle">1 => 4</div></li> </ol></li> </ol>
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 7.3.32 - 7.3.33
<ol class="dd-list"> <li class="dd-item" data-id="1"><div class="dd-handle">0 => 1</div></li> <li class="dd-item" data-id="2"><div class="dd-handle">1 => 2</div></li> <li class="dd-item" data-id="Array"><ol class="dd-list"> <li class="dd-item" data-id="3"><div class="dd-handle">0 => 3</div></li> <li class="dd-item" data-id="4"><div class="dd-handle">1 => 4</div></li> </ol></li> </ol>

preferences:
280.08 ms | 404 KiB | 460 Q