@mahirtaha;
@M_D_5;
function test($str) {
$str++;
}
$str = 1;
test($str);
echo $str;Object yerine string yapınca,
1 çıkıyor. Fonksiyon içinde
global $str; yazsaydık
2 çıkacaktı.
Yani object olunca global tanımlamaya gerek kalmıyor, hep
2 çıkıyor. Aradaki farkı anlayamadım tam olarak.
sizin değişken adını $str yapmanız değişkeni string değişkeni yapmaz. String türünde bir değişken oluşturup 1 basmak istiyorsanız $str = 1; şeklinde değil $str = "1"; şeklinde tanımlamanız gerekir.
Burda anlatmaya calıstıgım obje de olsa değişkende olsa siz 1 e eşitliyip int bir değer veriyorsunuz bunu da test fonksyionunda 1 artırıyorsunuz. 1+1 =2 sonuu veriyor. String şeklinde kullanmak istiyorsanız. $srt = "1"; tırnak ıcınde olmalıdır değişken adlarına gre string yada int olmaz. $double ="5"; dedim diye $double değişkenim double türünde olmuş olmuyor. $double değişkeni bir string şuan için.
Sonucun hep 2 değil sürekli yükselmesini kastediyoranız siz her program satır satır okumaya basladıgında deger onceden ne olursa olsun 1 eşitliyorsunuz. bir önceki el değer 2 olmul olsa bile aynı değişken tekrar 1 e şitlenip bir eklenıyor. her sayfa yenılemesınde. sürekli artırımlı ilerlemek istiyorsanız şöyle bir kod kullanılabilir.
function test($str) {
$str++;
}
session_start();
if(empty($_SESSION["oturumadi"])){
$_SESSION["oturumadi"] = 0;
}
test($_SESSION["oturumadi"]);
echo $_SESSION["oturumadi"];