示例#1
0
<?php

include "../src/helpers.php";
$input = "";
$handler = "";
$result = TraverseArray($input, $handler);
var_dump($result);
示例#2
0
/**
 * (macro) TraverseArray
 * Traverses an array with filters.
 *
 * @param input             Any array
 * @param handler           The handling function
 */
function TraverseArray($input, $handler)
{
    // prepre array
    if (is_object($input)) {
        $input = (array) $input;
    }
    // sanity check
    if (!is_array($input)) {
        return false;
    }
    // cycle
    foreach ($input as $key => $value) {
        // prepare
        switch (true) {
            case is_object($key) || is_array($key):
                TraverseArray($key, $handler);
                break;
            case is_object($value) || is_array($value):
                TraverseArray($value, $handler);
                break;
            default:
                if (is_callable($handler)) {
                    $handler($key, $value);
                }
                break;
        }
    }
}