在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