如何访问php关联数组值?

时间:2020-07-14 21:02:46

标签: php json

我的var_dump $ data看起来像这样。我正在遍历用户名,我需要获取值“ username1”

当我遍历$ key => $ value时,$ key返回一个整数。

array(1) {
  ["username1"]=>
  array(2) {
    ["enum"]=>;
    array(1) {
      [1]=>;
      array(1) {
        ["label"]=>;
        bool(true)
        }
      }
    ["total"]=>;
    int(20)
  }

编辑1:这是我的代码
作业

foreach($keys as $key){
            $this->data[] = array_fill_keys($keys,$this->getData($key, date('Y')));
}

函数getData

private function getData($key, $year)
    {
        return isset($this->datas[$key][$year]) ? $this->datas[$key][$year] : array();
    }

循环访问值

foreach($this->data as $kpi=>$value)
{
            var_dump($kpi);
}

解决方案:

问题出在这里

$this->data[] = array_fill_keys($keys,$this->getData($key, date('Y')));

data []数组具有整数索引。

通过$ this-> data [1]进行迭代可以得到键值。

但是,我觉得有更好的方法来解决这个问题,有人可以帮我改善这个问题吗?

1 个答案:

答案 0 :(得分:-2)

很抱歉先前写评论作为答案。问题不清楚。

基本上,您尝试执行的关联数组的类型应如下所示。

‘$ keys = array(“ username1” => array(“ enum” =>(int)3,“ label” => true,“ total =>(int)20));'

因此,“ username1”的值将是“ enum”和“ label”的数组

最后,as $ key数组必须写成“ $ key [‘enum”] $ key ['label'] $ key ['total']就在foreach命令之后