"Deprecated: str_replace(): Passing null to parameter" hatası
Herkese merhaba.
Aşağıdaki hatayı alıyorum, sorunu nasıl çözebilirim.
Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
PHP Sürümüm 8.2.13
<?php
$patterns = [
'{url}' => '([0-9a-zA-Z]+)',
'{id}' => '([0-9]+)'
];
$url = str_replace(array_keys($patterns), array_values($patterns), $url);
// Şu şekilde denedim ama yine aynı hatayı alıyorum.
$url = $url ? str_replace(array_keys($patterns), array_values($patterns), $url) : "";
@ebykdrms'de dedigi gibi, artik str_replace'de 2. parametrede null
kullanimi kaldirildi, onun yerine bos string olarak degistirirsen problemin cozulecektir.
kisaca projendeki butun su sekilde olan kodlarini:
str_replace($needle, null, $haystack)
soyle degistirmen gerekiyor:
str_replace($needle, '', $haystack)
Gecen PHP'nin yeni surumune gecerken ben de ayni problemi yasadim, uzucu :D eger 3. parti kullandigin class'lar vs. varsa onlarda hata cikarabilir, onlara da bir el atman gerekebilir.