Что такое $ variable?: Do?

$variable ?: [] 

Что оно делает? Это тернарный оператор, но выглядит немного по-другому, и я не знаю, что означает []. Perhabs – это сокращенный массив из 5.4 и создает пустой массив?

Это сокращение для:

 if ($variable) { // nothing } else { $variable = array(); } 

[] является сокращением PHP 5.4 для array()

Это значит:

Если $variable имеет значение, то используйте это значение, иначе используйте пустой массив.

Синтаксис [] – это сокращенный синтаксис PHP 5.4 для пустого массива.
PHP 5.3 и ранее будут писать его как array() .

Другими словами, да, ваша догадка в вопросе о том, что она делает, в значительной степени верна.