PHP dohvaćanje varijabla koje su možda "isset"

Pozdrav,

jednostavan slučaj npr:

$pero_name = isset($val['name']) ? $val['name'] : 'perica';

Kako se može gornje skraćeno zapisati?

Ja sam sebi složio funkciju “take” s kojom mogu na način:

$pero_name = take($val,'name','perica');

…ali volio bi znati ako ima neko defaultno PHP rješenje?

php 5.3

$pero_name = $val[‘name’] ?: ‘perica’;

Da, ali zavisno od postavljenog setupa prikaza errora/warrninga …gornji izraz će izbaciti grešku: “Undefined index: name” ukoliko nije definiran $val[‘name’].

Ima, ali tek od PHP 7.

$pero_name = $val['name'] ?? 'perica';

Zove se null-coalescing operator.

1 Like