免责声明:我不是PHP程序员。我根本不认为自己是程序员。我很幸运地继承了一些无法运作的代码。
所以我有这个代码。我相信它是为PHP4编写的,但我们正在使用PHP5。
// Retrieve project list
$project = new CProject();
$proj = $project->getAllowedRecords( $AppUI->user_id, 'project_id, project_name');
foreach ( $proj as $k => $p ) {
$project_select_list[$k] = $p['project_name'];
}
这应该根据用户的角色填充选择列表,但它不起作用。我得到"非法字符串偏移"在foreach循环内线上的警告。我想了解它正在尝试做什么,但我还没有足够的PHP来修复它。我在$ proj上做了一个vardump,它返回了这个。
array(5) {
[1]=> string(4) "Roof"
[2]=> string(4) "Wall"
[3]=> string(4) "Yard"
[4]=> string(7) "Kitchen"
[5]=> string(8) "Bathroom"
}
任何人都有任何关于如何解决它的提示?感谢。
答案 0 :(得分:4)
这似乎是由此产生的:
$p['project_name'];
如果$p
变量是一个字符串(如var_dump()
所述),那么您就无法访问阵列。最可能的解决方案是:
foreach ( $proj as $k => $p ) {
$project_select_list[$k] = $p;
}