首页 > 解决方案 > 获取多维数组键的父数组键

问题描述

我有几个这样的数组变量:

<?
$var_array["awal"]["kahiji"] = "Iyeu nu kahiji";
$var_array["awal"]["kadua"] = "Ayeuna kadua";
$var_array["akhir"]["sisanya"] = "Nu akhir pisan";
?>

我想知道将在输出中产生“awal”的键“kadua”的父键,这可能吗?我是否需要循环,或者是否有更简单的方法来使用 PHP 中的函数?提前致谢,你的技巧或帮助真的会帮助我。

标签: phparraysmultidimensional-array

解决方案


听起来您需要重组数据。

您不能确定不会有另一个不存在的 kadua 父级,因此您很可能会有一系列键,除非您想在第一个或类似的地方停下来。

我认为这可能是面向对象编程可以帮助您概念化的那种东西。

回到您实际提出的问题,这就是我尝试解决的方法:

$first_keys = array();
foreach ($var_array as $key => $first_level){
    if (array_key_exists("kadua", $var_array[$key])){
        $first_keys[] = $key;
    }
}
//$first_keys has all first keys that had a second key of kadua

推荐阅读