删除每次迭代后添加的额外[]以通过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);
}