0

私は drupal 6 で作業していますが、これは drupal の質問というよりは、php 関連の質問だと思います。

$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のエラーについて読みました...しかし、私はその概念を本当に理解していません。誰かが私を助けて、この問題についての洞察を私に与えることができれば、それは大歓迎です.

4

1 に答える 1

1

おそらく $value['0'] は文字列であり、それを配列として扱おうとしています。

これを行うと、このエラーが発生します。

$foo = 'bar';
$foo[0] = 'barbar';
于 2012-05-13T08:32:10.027 に答える