如何检查是否定义了索引?

时间:2019-03-22 11:02:33

标签: php arrays

我有一个循环,该循环从表单获取数据:

foreach ($data as $d) {
    $id = $dataEntity->getId();
    $content = $data['form['.$id.']'];
    $dataEntity->setContent($content);
}

我有一个问题。如果form['.$id.']有效,则代码无法正常工作。但是当它无效时,我会收到错误消息:

  

注意:未定义索引:表格[5207c07b25]

所以我试图像这样更改代码

 foreach ($data as $d) {
     $id = $dataEntity->getId();
     $formData = "form['.$id.']";
     if(isset($formData)){
         $content = $formData;
     } else {
          $content = "";
     }
     $dataEntity->setContent($content);
 }

但是我仍然收到相同的错误消息。

1 个答案:

答案 0 :(得分:2)

您需要检查数组中是否存在索引。索引字符串本身将始终被设置:

 foreach ($data as $d) {
     $id = $dataEntity->getId();
     $formData = "form[".$id."]";
     if(isset($data[$formData])){
         $content = $data[$formData];
     } else {
          $content = "";
     }
     $dataEntity->setContent($content);
 }