我在 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 上的错误......但我并没有真正掌握这个概念。如果有人可以帮助我并让我对这个问题有所了解,将不胜感激。