php。走上多维数组?

2023-12-27

假设我有一个多维数组结构:

array(parent)
    array
    array
    array(parent)
        array(parent)
            ...some key I'm looking for....
        array
    array
array
array
array
array
array

我递归地迭代它以找到一个包含我正在寻找的一些键的数组 - 这没有问题。

但是然后我需要走上树并为所有父级添加额外的密钥(由父级标记)。我无法理解它。我可以轻松地递归地走下树,但我不知道如何走上来。有人能指出我正确的方向吗?


这是我刚刚写的一个例子,只是为了了解这个想法。

NOTE这将在第一次出现匹配值时中断执行。

键盘链接 http://codepad.org/CMcE2ZGm

$arr = array(
    array('a','b','c','d'),
    array(61,62,63,64,65),
    array('e','f','g','h'),
    array(6,7,8,9),
    array(1,2,array(1,2,3,4,5,6,7,8),4,5,6,7,8),
    array('i','j','k','l','m'),
);

function array_walkup( $desired_value, array $array, array $keys=array() ) {
    if (in_array($desired_value, $array)) {
        array_push($keys, array_search($desired_value, $array));
        return $keys;
    }
    foreach($array as $key => $value) {
        if (is_array($value)) {
            $k = $keys;
            $k[] = $key;
            if ($find = array_walkup( $desired_value, $value, $k )) {
                return $find;
            }
        }
    }
    return false;
}

$keys = array_walkup(3, $arr);

echo "3 has been found in \$arr[".implode('][', $keys)."]";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php。走上多维数组? 的相关文章

  • 如何使用 HTTP POST multipart/form-data 将文件上传到服务器?

    我正在开发 Windows Phone 8 应用程序 我想使用 MIME 类型 multipart form data 和名为 userid SOME ID 的字符串数据的 HTTP POST 请求通过 PHP Web 服务上传 SQLit
  • Laravel 5 清除视图缓存

    我注意到 Laravel 缓存视图存储在 storage framework views 随着时间的推移 他们会吃掉我的空间 我该如何删除它们 有什么命令可以吗 我试过php artisan cache clear 但它并没有清除视图缓存
  • Laravel 模型访问器从缓存中获取 - 性能增强

    我在数据库中有一个项目列表 每个项目都可以选择被否决或赞成 这些投票与其他项目字段一起存储在 MySql 中 例如这样的事情 Schema create items function table table gt increments id
  • 如何通过索引获取 PHP DOMDocument 的子级

    我正在尝试获取 PHP DOMDocument 的子级 假设我有一个这样的 DOM 文档 div h1 h1 div div div class test div div 我有一个索引号3 然后我需要获取该元素 div class test
  • Facebook 墙写应用

    我想知道我是否可以编写一个应用程序 它可以是我所有朋友的列表 只需在我选择的朋友的墙上发布一条消息即可 不是消息 而是墙上的帖子 所以看来我去了他们的墙并写了一条消息 他们不知道有一个应用程序正在向他们推送消息 也可以用 python 编写
  • 更改laravel视图页面中的日期格式[重复]

    这个问题在这里已经有答案了 我想更改从数据库获取的日期格式 现在我得到了 2016 10 01 user gt from date 我想更改 laravel 5 3 中的格式 d m y user gt from date gt forma
  • WordPress Loop:如何将每 3 个帖子包装到一个 div 中?

    我正在尝试这个 div div 但这不起作用 谢谢你 感谢各位的支持 我尝试了两种解决方案 但都不起作用 我最终做到了这
  • Laravel 4,如何在 Route::controller() 上应用过滤器

    我知道我能做到 Route get foo bar array before gt filter uses gt Controller bar 应用路由一些过滤器 我也知道 Route group 方法 无论如何 如果我想以这种方式定义一个
  • Laravel中间件获取路由参数

    我正在编写诸如 学校俱乐部管理系统 之类的东西 并遇到一些资源授权问题 假设有club and club有经理 我想检查用户是否是经理club在他可以使用中间件管理它之前 使用 Laravel 5 2 My router看起来像这样 Rou
  • 在php mysql排行榜表中显示用户排名?

    我创建了一个测验页面 将登录用户的测验结果存储到排行榜 我有一个名为 Members 的表 其中包含 user 和 quiz score 列 我根据登录用户进行的测验结果打印出排行榜 我在个人资料页面的排行榜中显示特定用户的位置时遇到问题
  • PayPal Express 在沙盒模式下返回 4011 错误消息

    我在 PHP 脚本 curl SOAP 中以沙盒模式使用 PayPal Express 我有一个简单的购买表格 带有 1 个 购买 按钮 当它被点击时 我发送初始 SetExpressCheckout 请求并从 paypal 获得成功响应
  • php 验证十进制格式的纬度/经度字符串

    好吧 我有一个巨大的经度和纬度坐标列表 也就是说 我还有一些来源来提取这些坐标 其中一些来自 get post 方法 这可能会导致我的网站 服务中存在潜在的安全漏洞 所以我想弄清楚如何通过 PHP 验证经度和纬度 我正在考虑通过 preg
  • PHP 数组 ASC 排序

    我正在尝试对以下数组进行排序 但由于某些奇怪的原因 它似乎不起作用 sizearray Array 0 gt 39 1 gt 40 2 gt 41 3 gt 42 4 gt 43 5 gt 44 6 gt 45 7 gt 39 8 gt
  • CakePHP:无法访问 MySQL 数据库

    我是 CakePHP 的新手 刚刚完成配置过程 但很困惑为什么 Cake 无法访问我的 MySQL 数据库 Cake 信息页面显示我的 tmp 目录是可写的 FileEngine 正在用于缓存 不知道这意味着什么 并且我的数据库配置文件存在
  • 处理 PHP 中的会话劫持

    阅读了 Stackoverflow 上有关会话劫持的许多问题 我发现验证用户会话的唯一 解决方案 是检查用户代理 这是一个薄弱的保护层 我什至懒得去检查实施它 所以 我想知道你们实施了哪些解决方案 您是否使用 PHP 的本机会话或者是否有更
  • Highcharts 异步服务器加载多个系列

    我正在尝试按照其示例使用 Highcharts 的延迟加载 http www highcharts com stock demo lazy loading http www highcharts com stock demo lazy lo
  • 无法使用 Alamofire 在 swift 3 中上传图像

    我在尝试让 Alamofire 上传图像时被困了三天 这个想法是 Alamofire 将其与一些 php 代码一起发送到服务器 经过大量尝试和查看不同的地方后 一些代码应该可以工作 但是 Alamofire 的服务器端文档很糟糕 最近对 s
  • 如何使用 php $row 检索 sql 日期时间对象?

    例如 sql SELECT FROM db query sqlsrv query conn sql while row sqlsrv fetch array query echo row date column 会崩溃 我找到的大多数答案都
  • print_r 的替代方案(仅显示最多 2 3 个键)

    我有一个multi dimensional array有 200 个键 每个键有 3 到 5 个数组 我想知道有什么方法可以只看到有限的部分 即最多 3 或 4 个键 因为如果我使用print r desiredArray 然后花费了太多时
  • PHP 中的 imagecolortransparent 不起作用

    我想改变图像中的白色 http www arso gov si vreme napovedi 20in 20podatki radar gif http www arso gov si vreme napovedi 20in 20podat

随机推荐