字符串偏移量作为数组

时间:2012-05-13 08:07:26

标签: php drupal multidimensional-array fatal-error

我在drupal 6中工作,但我认为这更像是一个与php相关的问题,而不是一个drupal问题。

我正在使用正则表达式从$ node对象中收集某些值,基于键我将值赋给新数组以将其传递给我的另一个函数。

有时我会收到“致命错误:不能将字符串偏移用作数组”错误,有时候我不会...

以下是我正在使用的代码

$dynamic_acc = array();
      foreach($node as $key => $value){            
        //regular expression of the required fields
        $opt_exp = "/^(field_svm_group_and_or_)(\d*)(_qlty)$/";
        $min_exp = "/^(field_svm_group_min_acc_)(\d*)(_qlty)$/";
        $max_exp = "/^(field_svm_group_max_acc_)(\d*)(_qlty)$/";
        if(preg_match($opt_exp, $key)){
          $id_array = preg_split('/_/', $key); //$id_array['5'] will always be an integer
          $dynamic_acc[$id_array['5']]['opt'] = array(
              $key => $value['0']['value'],
              );
        }
        if(preg_match($min_exp, $key)){
          $id_array = preg_split('/_/', $key);
          $dynamic_acc[$id_array['5']]['min'] = array(
              $key => ($value['0']['value'])/(100),
              );
        }
        if(preg_match($max_exp, $key)){
          $id_array = preg_split('/_/', $key);
          $dynamic_acc[$id_array['5']]['max'] =array(
              $key => ($value['0']['value'])/(100),
              );
        }

      }

我已经阅读了关于php.net上的错误以及这里的stackoverflow ...但我并没有真正掌握这个概念。如果有人能帮助我并让我对这个问题有所了解,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

最有可能$ value ['0']是一个字符串,你试图把它当成一个数组。

执行此操作时会出现此错误:

$foo = 'bar';
$foo[0] = 'barbar';