ciao a tutti, qualcuno mi spiega la sintassi di questo codice in php?

Codice PHP:
<?php echo (strlen($categories['categories_name']) > 1) || (strlen($manufacturers['manufacturers_name']) > 1) ? $breadcrumb_tags->trail_tags(' ') . ' - ' TITLE TITLE?>
cioè come funziona?
se non erro dev'essere così...

se "(strlen($categories['categories_name'])" è maggiore di 1 (ovvero forse esiste)
oppure se "(strlen($manufacturers['manufacturers_name'])" è maggiore di 1 (ovvero forse esiste)
... e poi non lo so più...

dovreste in pratica spiegarmi cosa significano i simboli "||", "?" e ":" grazie!!