【问题标题】:Notice: Undefined offset: 1, 2, 3, 4 in dynamic_arr()注意:未定义的偏移量:dynamic_arr() 中的 1、2、3、4
【发布时间】:2014-10-30 11:46:12
【问题描述】:

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

注意:未定义的偏移量:1 在 $dynamic_arr[$key][trim($tt[1])] = array(

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

注意:未定义的偏移量:3 at 'size' => trim($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;
?>

【问题讨论】:

  • $b_csv提供示例输入。

标签: php arrays drupal undefined offset


【解决方案1】:

改变

if (isset($tt))

到:

if (!empty($tt))

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

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2020-01-22
    • 2015-08-01
    相关资源
    最近更新 更多