Actually, most of your objections don't seem to apply.
I already include the slashes through use of $uri.="$_/"
The $is_admin_link && 'admin' is in the right order already
As for the 0/1 problem with $is_admin_link, that's a fault of my assumption that $is_admin_link would either be true or undefined. I agree, that's a bad assumption, but it's a simple fix. I would probably use a single ternary:
Read closer. I said “the last paragraph.” Here is said paragraph, in order to avoid further confusion.
Not to mention that all of this misses my point because it’s specific to join, and I’ve needed to pass a variable list to some function or method often enough where really needed the sub-list to be empty depending on the condition – winging it by combining && and the false evaluates to the empty string factoid wouldn’t have done me any good.