我的影片由由SQL查詢返回的一組數據:如何向條目數組中添加/刪除條目?
$_SESSION['licensed_users'] = $db->get_results("SELECT np.id FROM `new_people` np LEFT JOIN institute.users_roles ur ON np.institute_uid = ur.uid WHERE np.company_id=$company_id AND ur.rid=8 AND np.active = 1");
這將返回一個數組,看起來像這樣:
Array (
[0] => stdClass Object ([id] => 25590)
[1] => stdClass Object ([id] => 40657)
[2] => stdClass Object ([id] => 60685)
[3] => stdClass Object ([id] => 61900)
[4] => stdClass Object ([id] => 65224)
[5] => stdClass Object ([id] => 65369)
[6] => stdClass Object ([id] => 79171)
[7] => stdClass Object ([id] => 80763)
[8] => stdClass Object ([id] => 80762)
[9] => stdClass Object ([id] => 80761)
)
在我的代碼迴路的另一部分通過值,以查看當前用戶是否是該陣列的一部分:
foreach($_SESSION'licensed_users'] as $key=>$value) {
if($value->id == $people_id) {
$is_licensed = true;
}
}
$is_licensed
被用來確定哪組表單字段顯示給TH e用戶。當用戶提交表單時,如果某個字段組被設置爲某個值,我需要將用戶($ people_id)添加到$_SESSION['licensed_users']
數組中,如果$is_licensed
爲false,或者如果$is_licensed
爲true,則將其從數組中移除。確定採取何種行動的代碼是沒有問題的;我無法記住/想出如何添加到對象數組。我看過this和this,但我已經知道ID是否在陣列中;我只需要能夠添加或刪除它。
(是的,我們正在使用的會話變量的理由 - 我們需要的是能夠在網站的頁面之間傳遞值它要麼或餅乾。)
我試過$_SESSION['licensed_users'][] = array("id"=>$people_id);
但似乎並沒有做任何事情。
有關使什麼'$ DB-> get_results'不僅返回數組,但指數與他們'id'。然後,您可以執行'isset($ _ SESSION'licensed_users'] [$ people_id])'來確定是否存在這樣的條目(並且您將直接擁有該條目)。 – hakre
@hakre - 我不確定你的意思。我將如何強制我的查詢返回一個由id索引的數組? – EmmyS