Php 若请求返回多个对象,则代码有效;若请求仅返回一个对象,则代码出错
我想根据应聘者从事的行业来挑选他们。当我向行业中只有一个候选人(JSON格式)的候选人发送请求时,我的请求返回此数据: 我使用以下代码:Php 若请求返回多个对象,则代码有效;若请求仅返回一个对象,则代码出错,php,json,Php,Json,我想根据应聘者从事的行业来挑选他们。当我向行业中只有一个候选人(JSON格式)的候选人发送请求时,我的请求返回此数据: 我使用以下代码: $rowArray = $data->response->result->Candidates->row; for ($i = 0; $i < count($rowArray); $i++) { $FL = $data->response->result->Candidat
$rowArray = $data->response->result->Candidates->row;
for ($i = 0; $i < count($rowArray); $i++) {
$FL = $data->response->result->Candidates->row[$i]->FL;
}
它在我的PHP代码中设置候选变量,这样我就可以在表中显示它。这应该可以:
$FL = $data->response->result->Candidates->row->FL[$i];
它告诉您“不能使用stdClass类型的对象作为数组”,因为您正试图这样做;像访问数组一样访问对象。可能您的服务器根据您发送的特定请求返回了不同的数据结构。您可以按照以下步骤进行操作- 1.首先检查它是否是一个数组,然后按常规操作 2.否则创建一个数组并推送它,然后照常执行
$rowArray = $data->response->result->Candidates->row;
if(!is_array($rowArray))
{
$rowArray=array($data->response->result->Candidates->row);
//so that $rowArray is now an array and count gives 1
}
我最终实现了一个与此基本相同的解决方案,谢谢。
$FL = $data->response->result->Candidates->row->FL[$i];
$rowArray = $data->response->result->Candidates->row;
if(!is_array($rowArray))
{
$rowArray=array($data->response->result->Candidates->row);
//so that $rowArray is now an array and count gives 1
}