Le variabili PHP sono di tipo dinamico, quindi posso fare:
$x = 'hello world!';
$x = strlen($x);
A volte questo è banale e potrei salvare molte righe di codice, ma riduce la chiarezza. Sto usando un editor di testo, ma suppongo che gli IDE (e i programmatori) potrebbero essere confusi se un tipo di modifica delle variabili.
Caso meno banale:
if (is_string($data))
$lines = explode(PHP_EOL,$data);
else
$lines = $data;
vs
if (is_string($data))
$data = explode(PHP_EOL,$data);
Ovviamente potrei fare qualcosa del tipo:
$lines = is_string($data) ? explode(PHP_EOL,$data) : $data;
Ma non è questo il punto.
BTW: sto assumendo che $ data sia una stringa o e questo dovrebbe essere documentato come tale.