为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 使用 isset 函数崩溃

PHP 使用 isset 函数崩溃

PHP
三国纷争 2021-12-03 16:22:07
我的代码有问题。我曾经有“未定义的偏移量:1”错误,所以我使用 isset 函数来检查数组是否存在。但是提交后,网络服务器崩溃了(我肯定是因为这个问题遇到了这个问题)PHP代码if ($instancenameNarr !== null && $instancenameVarr !== null && $instancenameOarr !== null) {            for ($i = 0; $i < $input['standardpartitionsN']; $i++) {                $standardpartitions = new StandardPartition;if (isset($input['mounpointstandardpartitionsN'][$i])) {    $standardpartitions->mountpointstd = $input['mounpointstandardpartitionsN'][$i--];}if (isset($input['sizestandardpartitionsN'][$i])) {    $standardpartitions->sizestd = $input['sizestandardpartitionsN'][$i--];}                $standardpartitions->save();HTML<select class="form-control"  name='mounpointstandardpartitionsN[]'  id='mounpointstandardpartitionsN' >等等......问题是什么家伙?谢谢
查看完整描述

3 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

每次设置 $i-- 您的 'for' 都会后退一步,并永远循环。尝试 $i - 1 但再次测试它是否存在


if (isset($input['mounpointstandardpartitionsN'][$i])) {

 if (isset($input['mounpointstandardpartitionsN'][$i - 1])) {

    $standardpartitions->mountpointstd = $input['mounpointstandardpartitionsN'][$i - 1];

 }

}

你也必须检查它是否是第一次迭代


查看完整回答
反对 回复 2021-12-03
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

通过申请解决

count($input[...][$i])

等等。Count() 救了我


查看完整回答
反对 回复 2021-12-03
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您应该先检查mounpointstandardpartitionsN,然后检查$i如下:


<?php 

if ($instancenameNarr !== null && $instancenameVarr !== null && $instancenameOarr !== null) {

    for ($i = 0; $i < $input['standardpartitionsN']; $i++) {

        $standardpartitions = new StandardPartition;


if (isset($input['mounpointstandardpartitionsN']) && isset($input['mounpointstandardpartitionsN'][$i])) {

    $standardpartitions->mountpointstd = $input['mounpointstandardpartitionsN'][$i--];

}


if (isset($input['sizestandardpartitionsN']) && isset($input['sizestandardpartitionsN'][$i])) {

    $standardpartitions->sizestd = $input['sizestandardpartitionsN'][$i--];

}


$standardpartitions->save();

这将首先检查是否$input已经mounpointstandardpartitionsN设置,如果是,那么它会检查是否$input['mounpointstandardpartitionsN']有$i在里面。希望对你有帮助


查看完整回答
反对 回复 2021-12-03
  • 3 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信