strtr
Belli karakterleri veya alt dizgeleri değiştirir
&reftitle.description;
stringstrtr
stringdizge
stringeski
stringyeni
Alt dizgelerle çalışan sözdizimi:
stringstrtr
stringdizge
arrayeski_yeni
Üç bağımsız değişken verilirse, bu işlev, dizge içinde
rastladığı eski dizgesindeki her bir (tek baytlık)
karakteri, yeni dizgesindeki karşılık gelen karakterle
değiştirerek elde edilen dizgeyi döndürür. Yani, eski
ve yeni dizgelerinde $n belli bir
konumu gösterdiğinde dizge içinde rastlanılan her
$eski[$n] yerine $yeni[$n] konarak elde
edilen dizge döndürülür.
Eğer eski ve yeni dizgeleri
farklı uzunluktaysa dizgelerden uzun olanının fazla baytları yok sayılır.
Dönüş değerinin uzunluğu ile dizge uzunluğu aynı
olacaktır.
İki bağımsız değişken verilirse, ikincisi
array('eski' => 'yeni', ...) biçeminde bir dizi
olmalıdır. Dönüş değeri, dizi anahtarlarının karşılık gelen değerlerle
değiştirildiği bir dizgedir. İlk olarak en uzun anahtarlar denenir.
Bir kere değiştirilen metin bir daha değerlendirilmez.
Bu durumda, boş anahtar olmaması koşuluyla anahtarlar ve değerler herhangi
bir uzunlukta olabilir; ek olarak, dönüş değerinin uzunluğu dizgeden farklı
olabilir. Bununla birlikte, işlev için en verimli durum tüm anahtarların
aynı boyutta olduğu durumdur.
&reftitle.parameters;
dizge
Karakterleri dönüştürülecek dizge.
eski
Yerine yenisi konacak baytlar.
yeni
Eskisinin yerine konacak baytlar.
eski_yeni
array('eski' => 'yeni', ...) biçeminde alt dizge
çiftlerinden oluşan bir dizi.
eski_yeni dizisi anahtarı boş dizge
("") olan bir çift içeriyorsa, bu çift yoksayılır.
PHP 8.0.0 ve sonrasında böyle bir durumda bir
E_WARNING çıktılanır.
&reftitle.returnvalues;
Dönüştürülen dizgeyle döner.
&reftitle.examples;
- strtr örneği
]]>
Aşağıdaki örnekte strtr işlevi iki bağımsız değişken ile
çağrılmaktadır. Değiştirme tercihlerine dikkat: "h"
daha uzun bir eşleşmenin parçası olduğundan ve bir kere değişen metin
tekrar değerlendirilmediğinden işlem görmemiştir.
- İki bağımsız değişkenli strtr örneği
"-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>
]]>
&example.outputs;
Aşağıdaki iki davranış biçimi büyük ölçüde farklıdır.
Üç bağımsız değişkenli strtr baytları değiştirirken,
ikili olanı alt dizgeleri değiştiriyor.
- strtr davranış karşılaştırması
"01");
echo strtr("baab", $trans);
?>
]]>
&example.outputs;
&reftitle.seealso;
str_replace
preg_replace