Хотя PHP может преобразовывать ноль в пустую строку с помощью приведения, вы действительно должны спросить себя, почему эта функция вообще должна принимать нулевое значение.
Если ноль означает, что у вас есть какое-то значение по умолчанию для$x
, тогда это кажется совершенно логичным, и вы можете использовать нулевое объединение, чтобы сделать $x
строковым значением по умолчанию, если $x
равно нулю.
$x = $x ?? 'default';
Однако вышеупомянутое может быть более эффективно разрешеноопределив «default» в сигнатуре:
function func(string $x = 'default')
Но, исходя из вашего кода, на самом деле нет никаких причин для передачи значения null этой функции.На мой взгляд, это запах кода и не должно быть разрешено.Эта функция работает только со строками, поэтому не допускайте нулевых значений для начала.Затем нулевое значение должно быть обработано потребителем до того, как оно достигнет этой функции.