在BPM应用程序中,我试图循环访问关联数组的关联数组,并使用foreach循环仅返回值(APP_UID)。但是,我只能显示最后生成的值,而不是所有的值。Foreach多维数组显示值
这里是我的代码:
$currentUser = @@USER_LOGGED;
//Copy Notes to Subprocess
$caseId = @@APPLICATION; //Case UID
$subcases = executeQuery("SELECT APP_UID FROM SUB_APPLICATION WHERE APP_PARENT='$caseId'");
if (is_array($subcases) and count($subcases) > 0) {
foreach($subcases as $subcase)
$subCaseId = $subcase["APP_UID"] . ", ";
//Update the Sent By status
executeQuery("UPDATE APP_CACHE_VIEW SET PREVIOUS_USR_UID = '$currentUser' WHERE APP_UID IN ('$subCaseId')");
}
该功能的executeQuery应产生的一些SQL语句像下面,但事实并非如此。例如:
UPDATE APP_CACHE_VIEW SET PREVIOUS_USR_UID = '54454572356235' WHERE APP_UID IN
('336545547', '436545534', '736545125')
有关我在做什么错的任何想法?
其他人给你正确的答案。不过,我只想说,在构建IN语句的这些情况下,我倾向于使用要使用的值创建一个数组,然后使用implode(',',$ array)创建逗号分隔的字符串。 – eli 2013-02-25 04:48:51