猿问

我无法访问我的数组 php 的特定索引

我无法访问数组的特定索引,我想访问数组的第三个索引,该索引实际上保存了用户的邮政编码,以便在 SELECT 语句中使用它。这是数组:


$zip_code = connecting::query('SELECT zipcode FROM accounts WHERE username=:user_name', array(':user_name' => $user_name));

$zipcode = json_encode($zip_code, true);

这是我打印时的输出$zipcode:


[{"zipcode":"28262","0":"28262"}]

但是当我打印 $zipcode[2] 时没有打印任何内容,我无法使用它。我不能像那样直接访问它吗?我已经使用 json_encode、var_export、implode 等尝试将其转换为字符串,但它不起作用。


这是我调用的查询方法:


public static function query($query,$params = array())

{



    $statement = self :: db()->prepare($query);

    $statement->execute($params);

    if(explode(' ',$query)[0] == 'SELECT')

    {

        $data = $statement->fetchAll();

        return $data;

    }


}


慕盖茨4494581
浏览 107回答 1
1回答

鸿蒙传说

fetchAll返回数组数组。所以,如果你print_r(zip_code);会看到类似的东西:Array (     [0] => Array (         [zipcode] => 28262         [0] => 28262     ) )所以,正如你所看到的 - 这里没有带索引的键2,只有0在外部数组和两个键0以及zipcode子数组中。此外,如您所见,您的数据 ( 28262) 在不同键下的子数组中重复。为避免这种情况,您可以提供以下参数fetchAll:$data = $statement->fetchAll(PDO::FETCH_ASSOC);
随时随地看视频慕课网APP
我要回答