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

标签 php android mysql json

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;   
}

enter image description here

此函数根据需要返回对象但在每次迭代后添加[]。我想删除多余的 [] 以便它适合我的模态对象。有办法做到这一点吗?

最佳答案

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

if($query){
    $projects = $query -> fetchAll(PDO::FETCH_OBJ);
}

关于php - 删除每次迭代后添加的额外 [ ] 以通过 PHP 发送 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41179070/

相关文章:

php - 将两个数组组合成关联数组,问题

安卓多屏

mysql - union select and order by 与 mysql

java - SQL 和 Java 使用 SQL 字符时出错

php - 设置从本地主机到服务器的服务器代码

php - 将 JSON 数据从 Yelp API 附加到 html

php - 表单提交在 mysql 中显示空白条目

php - 如何从 WP 标题中删除 HOME 链接?

php - 在android中创建动态表单

android - Dagger,如何注入(inject)一个类,而不是一个模块