从json提取数据时PHP处理错误消息
我有一个简单的问题。我有不同的returnvalues(JSON),但每个类都有一个类。如果json中没有包含值,我会收到一条错误消息:注意:未定义索引 如何获取查询,但没有错误消息。如果未指定值,例如,应输入-1 JSON: PHP:从json提取数据时PHP处理错误消息,php,json,Php,Json,我有一个简单的问题。我有不同的returnvalues(JSON),但每个类都有一个类。如果json中没有包含值,我会收到一条错误消息:注意:未定义索引 如何获取查询,但没有错误消息。如果未指定值,例如,应输入-1 JSON: PHP: $return=json\u decode($file,true); $back=array(); $array=array(); 对于($i=0;$i
$return=json\u decode($file,true);
$back=array();
$array=array();
对于($i=0;$i<100;$i++){
$array[]=$return['result'][$i];
//$back[]=新的GetMatchesForTrainstationSearch($array[$i]);
}
echo$input['不在json中的东西'];
如果您试图访问的索引不存在,则可以选择:
for ($i = 0; $i < 100; $i++) {
if (!isset($return['result'][$i])) {
continue;
}
$array[] = $return['result'][$i];
}
($i=0;$i<100;$i++)的{
if(!isset($return['result'][$i])){
继续;
}
$array[]=$return['result'][$i];
}
前面的答案很好。
我可以补充一点,您可以通过使用-loop避免“未定义索引”错误,它将只通过数组中存在的索引执行:
$return = json_decode($file, true);
if (json_last_error() === JSON_ERROR_NONE) {
return 'error msg or msg type';
}
$result = [];
if (is_array($return))
{
foreach($return as $k => $v)
{
//use it as $return[$k] = $v;
if ($v>0) $result[] = $v;
return $result;
}
}
return 'error';
for ($i = 0; $i < 100; $i++) {
if (!isset($return['result'][$i])) {
continue;
}
$array[] = $return['result'][$i];
}
$return = json_decode($file, true);
if (json_last_error() === JSON_ERROR_NONE) {
return 'error msg or msg type';
}
$result = [];
if (is_array($return))
{
foreach($return as $k => $v)
{
//use it as $return[$k] = $v;
if ($v>0) $result[] = $v;
return $result;
}
}
return 'error';