Php 注意:动态_arr()中未定义的偏移量:1,2,3,4

Php 注意:动态_arr()中未定义的偏移量:1,2,3,4,php,arrays,drupal,undefined,offset,Php,Arrays,Drupal,Undefined,Offset,我在以下几行中遇到了这些错误: 注意:未定义的偏移量:1处 $dynamic\u arr[$key][trim($tt[1])]=数组( 注意:未定义的偏移量:2 at 'type'=>修剪($tt[2]), 注意:未定义的偏移量:3处 'size'=>修剪($tt[3]), 注意:未定义的偏移量:4 at 'widget'=>trim($tt[4]), 我基本上不明白这里有什么问题 <?php foreach($b_csv as $key = > $csv) { $dynami

我在以下几行中遇到了这些错误:

注意:未定义的偏移量:1处
$dynamic\u arr[$key][trim($tt[1])]=数组(

注意:未定义的偏移量:2 at
'type'=>修剪($tt[2]),

注意:未定义的偏移量:3处
'size'=>修剪($tt[3]),

注意:未定义的偏移量:4 at
'widget'=>trim($tt[4]),

我基本上不明白这里有什么问题

<?php
foreach($b_csv as $key = > $csv) {
  $dynamic_arr[$key] = array();
  $aa = explode("\n", $csv);
  foreach($aa as $key2 = > $value) {
    $tt = explode(',', $value);
    if (isset($tt)) {
      if (!empty($tt[5])) {
        $dynamic_arr[$key][trim($tt[1])] = array(
            'label' = > trim($tt[0]), 
            'type' = > trim($tt[2]), 
            'size' = > trim($tt[3]), 
            'widget' = > trim($tt[4]), 
            'option' = > trim($tt[5]),
        );
      } else {
        $dynamic_arr[$key][trim($tt[1])] = array(
            'label' = > trim($tt[0]), 
            'type' = > trim($tt[2]), 
            'size' = > trim($tt[3]), 
            'widget' = > trim($tt[4]),
          );
      }
    }
  }
}
return $dynamic_arr;
?>

更改

if (isset($tt))
致:


$tt
将始终被设置,因为您刚刚在前一行分配了它。但是如果它为空,您将在
else
块中获得错误,因为您将尝试访问数组的元素。

$b_csv
提供示例输入。
if (!empty($tt))