删除每次迭代后添加的额外[]以通过PHP发送JSON

删除每次迭代后添加的额外[]以通过PHP发送JSON,php,android,mysql,json,Php,Android,Mysql,Json,此函数根据需要返回对象,但在每次迭代后添加[]。我想删除额外的[],使其适合我的模态对象。有什么方法可以做到这一点吗?fetchAll立即获取所有行,因此在时使用是多余的: public function showcarts($email){ $sql = 'SELECT * FROM users WHERE email = :email'; $query0 = $this -> conn -> prepare($sql); $query0 -> ex


此函数根据需要返回对象,但在每次迭代后添加
[]
。我想删除额外的
[]
,使其适合我的模态对象。有什么方法可以做到这一点吗?

fetchAll
立即获取所有行,因此在
时使用
是多余的:

public function  showcarts($email){
    $sql = 'SELECT * FROM users WHERE email = :email';
    $query0 = $this -> conn -> prepare($sql);
    $query0 -> execute(array(':email' => $email));
    $data = $query0 -> fetchObject();
    $p_cart= $data -> p_cart;  
    $p_cart = preg_replace('/\.$/', '', $p_cart); //Remove dot at end if exists
    $array = explode(',', $p_cart); //split string into array seperated by ', '
    $projects=array();
    foreach($array as $p_id) //loop over values
    {   
        $sql = 'SELECT * FROM products WHERE p_id = :p_id';
        $query = $this -> conn -> prepare($sql);
        $query -> execute(array(':p_id' => $p_id)); 
        if($query){
            while($products = $query -> fetchAll(PDO::FETCH_OBJ))
            {
                 array_push($projects,$products);
            }
        }         
    }
    return $projects;   
}

使用
fetch
而不是
fetchAll
。或者在
时删除
。是否在数据库中保存逗号分隔的值?谢谢,它起作用了。。
if($query){
    $projects = $query -> fetchAll(PDO::FETCH_OBJ);
}