我的PHP脚本将数据返回给Web客户端,由JavaScript处理。
如果找到数据,则将其存储在关联数组/对象中。 如果未找到数据,则希望发送一个空的关联数组。
我在网上看到的唯一示例是在手册中创建一个空类,然后从该类实例化一个对象。
以下是我的代码和Web客户端侧产生的结果。
这里有两个数据在被JSON解码之前到达Web客户端时的样子。请注意“info”元素的差异。
响应 {"info":{"job":"999","client":"My Company, Inc. ","project":"This Project"},"errors":[]}
错误响应 {"info":[ ],"errors":["No such job # 0"]}
在成功的响应中,我有一个对象/关联数组,在其中我将使用
在空响应中,我只会得到标准的数组 [ ] 方括号,这里我会使用。
当然,这是因为我在上面的php代码中指定了一个空数组。我的问题很简单,如何更改我的php代码以传输一个空的关联数组?
如果找到数据,则将其存储在关联数组/对象中。 如果未找到数据,则希望发送一个空的关联数组。
我在网上看到的唯一示例是在手册中创建一个空类,然后从该类实例化一个对象。
以下是我的代码和Web客户端侧产生的结果。
$sql = 'select job, client, project from jobs j left join client c on c.key = j.cKey where j.key='.$this->p['reckey'];
if ( $result = $db->query($sql) )
{
if ($result->num_rows > 0)
{
$l = mysqli_fetch_all( $result, $resulttype = MYSQLI_ASSOC );
$this->res_array['info'] = $l[0];
}else{
$this->errors[] = 'No such job # '.$this->p['reckey'];
$this->res_array['info']=[];
}
}else{
$this->errors[] = 'Query failed!';
$this->res_array['info']=[];
}
$this->res_array['errors'] = $this->errors;
echo json_encode ($this->res_array);
这里有两个数据在被JSON解码之前到达Web客户端时的样子。请注意“info”元素的差异。
响应 {"info":{"job":"999","client":"My Company, Inc. ","project":"This Project"},"errors":[]}
错误响应 {"info":[ ],"errors":["No such job # 0"]}
在成功的响应中,我有一个对象/关联数组,在其中我将使用
for (variable in object) {...}
在空响应中,我只会得到标准的数组 [ ] 方括号,这里我会使用。
for (step = 0; step < info.length; step++) {}
当然,这是因为我在上面的php代码中指定了一个空数组。我的问题很简单,如何更改我的php代码以传输一个空的关联数组?