如何获取PHP多维数组中month键下的一级子键(不含子值)?
解决PHP多维数组获取指定层级键名的问题
嘿,这个需求其实很容易实现,PHP内置的array_keys()函数就是专门干这个的!
核心解决方案
假设你的数组变量是$data,只需要一行代码就能拿到month键下的一级子键集合:
$monthKeys = array_keys($data['month']);
完整代码示例
我们把你的数组结构代入实际代码里,更直观:
// 你的原始数组 $data = [ 'month' => [ 'January' => [ ['1' => '2100'], ['2' => '50'], ['3' => '7858'], ['4' => '3535'] ], 'December' => [ ['1' => '123'], ['2' => '1900'] ] ] ]; // 获取目标键名集合 $monthKeys = array_keys($data['month']); // 输出结果看看 var_dump($monthKeys);
执行这段代码后,var_dump会输出你期望的结构:
array(2) { [0]=> string(7) "January" [1]=> string(8) "December" }
额外的健壮性处理
如果不确定$data['month']是否存在或者是否为数组,可以加个简单的判断避免报错:
$monthKeys = []; if (isset($data['month']) && is_array($data['month'])) { $monthKeys = array_keys($data['month']); }
这样即使数据结构异常,也不会抛出错误,而是返回一个空数组,代码更稳定。
内容的提问来源于stack exchange,提问作者Didi Haryadi
相关产品推荐
相关产品推荐

