Php 字符串偏移量作为数组
我在Drupal6中工作,但我认为这更像是一个与php相关的问题,而不是一个drupal问题 我使用regex从$node对象收集某些值,根据键将值分配给一个新数组,以将其传递给我的另一个函数 有时我会遇到“致命错误:无法将字符串偏移量用作数组”错误,有时我不会 这是我正在使用的代码Php 字符串偏移量作为数组,php,drupal,multidimensional-array,fatal-error,Php,Drupal,Multidimensional Array,Fatal Error,我在Drupal6中工作,但我认为这更像是一个与php相关的问题,而不是一个drupal问题 我使用regex从$node对象收集某些值,根据键将值分配给一个新数组,以将其传递给我的另一个函数 有时我会遇到“致命错误:无法将字符串偏移量用作数组”错误,有时我不会 这是我正在使用的代码 $dynamic_acc = array(); foreach($node as $key => $value){ //regular expression
$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上读到了关于错误的信息。。。但我并不真正理解这个概念。如果有人能帮我解决这个问题并给我一些见解,我将不胜感激。很可能$value['0']是一个字符串,您正试图将其视为一个数组 执行此操作时,会出现此错误:
$foo = 'bar';
$foo[0] = 'barbar';
好啊我觉得自己真的很愚蠢$值[0]['value']不存在:(我只是像猴子一样编程。