/** * This should not be called outside of this file. It's only used internally * * @param array $haystack * @param function $callback * * @return [type] [description] */ function _recursion(array $haystack) { foreach ($haystack as $key => $value) { if (is_array($value)) { foreach ($value as $leaf_key => $leaf_value) { if (is_array($leaf_value)) { _recursion($leaf_value); } else { call_user_func_array('\\' . __NAMESPACE__ . '\\_debug_callback', [$leaf_key, $leaf_value]); } } continue; } call_user_func_array('\\' . __NAMESPACE__ . '\\_debug_callback', [$key, $value]); } }
<?php namespace JREAM; require '../src/array_functions.php'; require 'sample_arrays.php'; echo '<pre>'; echo '<h2>Simple</h2>'; _recursion($simple); echo '<h2>Named</h2>'; _recursion($named); echo '<h2>Nested</h2>'; _recursion($nested); echo '</pre>';