substr() ve strstr() fonksiyonları, PHP programlama dilinde bir dize (string) üzerinde işlemler yapmak için kullanılır. Her iki fonksiyon da farklı şekillerde kullanılır ve farklı sonuçlar verir.
substr() fonksiyonu, bir dizenin belirli bir bölümünü keserek yeni bir dize oluşturur. Bu fonksiyonda kullanılan parametreler, başlangıç pozisyonu ve kesilecek karakter sayısıdır. Örneğin, aşağıdaki kod bir dizenin ilk üç karakterini alır:
```php
$str = \"Hello World\";
$substr = substr($str, 0, 3);
echo $substr; // Hello
```
Bu kodda substr() fonksiyonu, $str dizesinin 0. karakterinden başlayarak 3 karakter alarak yeni bir dize oluşturur. Yani $substr değişkeninde \"Hel\" değeri saklanır ve ekrana yazdırılır.
strstr() fonksiyonu, bir dizenin içinde aranan bir alt dizeyi bulur ve bu alt dizenin bulunduğu konumdan sonraki tüm karakterleri içeren yeni bir dize oluşturur. Bu fonksiyonda kullanılan parametreler, aranan alt dize ve başlangıç pozisyonudur. Örneğin, aşağıdaki kod \"Hello World\" dizesinde \"World\" alt dizesini bulur:
```php
$str = \"Hello World\";
$pos = strstr($str, \"World\");
echo $pos; // World
```
Bu kodda strstr() fonksiyonu, $str dizesinde \"World\" alt dizisini bulur ve $pos değişkeninde saklar. Ekrana yazdırılan değer \"World\" olacaktır.
Yani substr() fonksiyonu, bir dizenin belirli bir bölümünü keserek yeni bir dize oluştururken strstr() fonksiyonu, bir dizenin içindeki belirli bir alt dizeyi bulur ve bu alt dizenin bulunduğu konumdan sonraki tüm karakterleri içeren yeni bir dize oluşturur.
Örnek kodlar ingilizce olarak verilmiştir.