I thought I would add this topic since I'm in need of an answer and don't see much ternary used in code examples. Using a ternary operator to assign a file path to a local variable. The path string is conditional, depending on which page id was passed to the script.
Once the $_GET variable is evaluated, I like to unset these variables as a personal "memory maintenance" preference (even though garbage collection is automatic). Would prefer to only call unset( ) if $_GET[pageid] is set. The second code block makes the issue clearer. Here is the code I've tried. It generates an error.
$fpath = (unset(isset($_GET['pageid']))) ? "path/to/file2.txt" : "path/to/file1.txt";
//error Parse error: syntax error, unexpected 'unset' (T_UNSET)
/* for comparison purpose, does same thing as above
* but works as expected because ifelse construct
* allows for stacking functions within a code block.
* where ternary seems to have a problem with unset().
*/
if (isset($_GET['pageid'])) {
$fpath = "path/to/file2.txt";
unset($_GET['pageid']);
} else {
$fpath = "path/to/file1.txt";
}