You will get the empty array before you log in.... logging in sets the session variables. The point is to look at the array after you log in as an admin to see the session variables that are set.
You would add a checkbox in the admin user update page to update the isAdmin field to change people to admin, or you could just update that field in the database directly. You specify a user as admin by changing that field value for the associated user.
None of the other things you mention are necessary.