我得到这个php通知,我的程序运行完美。 这是我的代码:
$data = file_get_contents('php://input');
$P = isset(json_decode($data)->E->EP->P) ? json_decode($data)->E->EP->P : '0';
for ($i = 1; $i <= $P; $i++) {
${idq.$i} = isset(json_decode($data)->E->EP->{idq.$i}) ? json_decode($data)->E->EP->{idq.$i} : '0';
}
echo ${idq.$i};
我应该通过处理修复或抑制错误吗?
答案 0 :(得分:2)
假设您希望将变量命名为$idq1
,$idq2
,$idq3
等:
他们目前被视为常数。如果您想在变量中使用它们,则需要将idq
常量括在引号中:
for ($i = 1; $i <= $P; $i++) {
${'idq'.$i} = isset(json_decode($data)->E->EP->{'idq'.$i}) ? json_decode($data)->E->EP->{'idq'.$i} : '0';
}
echo ${'idq'.$i};
但是三元语句会使你的代码变得有点丑陋(至少在这种情况下)。但是,这看起来更清洁,IMO:
$data = file_get_contents('php://input');
if(isset(json_decode($data)->E->EP->P)) {
$P = json_decode($data)->E->EP->P;
}
else {
$P = '0';
}
for ($i = 1; $i <= $P; $i++) {
if(isset(json_decode($data)->E->EP->{'idq'.$i}) ) {
${'idq'.$i} = json_decode($data)->E->EP->{'idq'.$i};
}
else {
${'idq'.$i} = '0';
}
}
另外,回答你的最后一个问题:
我应该通过处理修复或抑制错误吗?
不。决不。您应该始终找到并修复错误而不是抑制错误。
答案 1 :(得分:1)
始终修复你的错误,抑制不是任何事情的解决方案,它只是一个等待某个时间关闭的炸弹......