Bvural41 1
Bvural41
Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu PHP Type Juggling Nedir?

Karadayı ✓

Karadayı ✓
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Uzman
Ayın Üyesi
Katılım
21 May 2024
Konular
1,450
Mesajlar
2,452
Çözüm
7
Online süresi
3mo 25d
Reaksiyon Skoru
2,565
Altın Konu
1,027
Başarım Puanı
274
Yaş
51
MmoLira
36,889
DevLira
110
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

E.png

PHP Type Juggling Nedir?
PHP dinamik olarak yazılmış bir dil olarak bilinir. PHP'de bir değişkenin türü dinamik olarak değişir. Bu özelliğe PHP'de "Type Juggling" denir.C, C++ ve Java'da, değişkeni ve türünü sonraki kodda kullanmadan önce bildirmeniz gerekir. Değişken yalnızca bildirilen türle eşleşen bir değer alabilir.PHP'de bir değişkenin açık tip bildirimi ne gereklidir ne de desteklenir. Bu nedenle PHP değişkeninin tipi, ona atanan değere göre belirlenir, tersi değildir. Ayrıca, bir değişkene farklı tipte bir değer atandığında, tipi de değişir.

Örnek 1

Aşağıdaki PHP'deki değişken atamasına bakın.

Kod:
<?php
$var = "Hello";
echo "The variable \$var is of " . gettype($var) . " type" .PHP_EOL;

$var = 10;
echo "The variable \$var is of " . gettype($var) . " type" .PHP_EOL;

$var = true;
echo "The variable \$var is of " . gettype($var) . " type" .PHP_EOL;

$var = [1,2,3,4];
echo "The variable \$var is of " . gettype($var) . " type" .PHP_EOL;
?>


Aşağıdaki çıktıyı üretecektir :

The variable $var is of string type
The variable $var is of integer type
The variable $var is of boolean type
The variable $var is of array type

"$var" tipinin kendisine atanan değere göre dinamik olarak değiştiğini görebilirsiniz. PHP'nin bu özelliğine "Type Juggling" denir.

Örnek 2

İfade hesaplaması sırasında Type Juggling de gerçekleşir. Bu örnekte, basamaklar içeren bir dize değişkeni, toplama ifadesinin değerlendirilmesi için otomatik olarak tam sayıya dönüştürülür.

Kod:
<?php
$var1=100;
$var2="100";
$var3=$var1+$var2;
var_dump($var3);
?>


İşte çıktısı;


Örnek 3

Bir dize rakamlarla başlıyorsa, varsa sayısal olmayan karakterler hesaplama yapılırken göz ardı edilir. Ancak, PHP ayrıştırıcısı aşağıda gösterildiği gibi bir bildirim yayınlar.

Kod:
<?php
$var1=100;
$var2="100 days";
$var3=$var1+$var2;
var_dump($var3);
?>


Aşağıdaki çıktıyı alacaksınız.


PHP Warning: A non-numeric value encountered in /home/cg/root/53040/main.php on line 4

Tip Dökümü ve Tip Jonglörlüğü

PHP'deki "tip dönüştürme"nin "Type Juggling" biraz farklı olduğunu unutmayın.
  • Type Juggling, PHP gerektiğinde türleri birinden diğerine otomatik olarak dönüştürür. Örneğin, bir değişkene bir tamsayı değeri atanırsa, bu bir tamsayı olur.
  • Öte yandan, tür dönüşümü, kullanıcı açıkça hangi veri türüne dönüşüm yapmak istediğini tanımladığında gerçekleşir.

Örnek

Tür dönüştürme, bir değişkenin belirli bir tür olarak kullanılmasını zorlar. Aşağıdaki betik, farklı tür dönüştürme operatörlerinin bir örneğini gösterir.

Kod:
<?php
$var1=100;
$var2=(boolean)$var1;
$var3=(string)$var1;
$var4=(array)$var1;
$var5=(object)$var1;
var_dump($var2, $var3, $var4, $var5);
?>

Aşağıdaki çıktıyı üretecektir :


bool(true)
string(3) "100"
array(1) {
[0]=>
int(100)
}
object(stdClass)#1 (1) {
["scalar"]=>
int(100)
}

Örnek

Bir değişkeni bir dizeye dönüştürmek, onu çift tırnak işareti içine alarak da yapılabilir.

Kod:
<?php
$var1=100.50;
$var2=(string)$var1;
$var3="$var1";
var_dump($var2, $var3);
?>

Burada aşağıdaki çıktıyı alacaksınız.

string(5) "100.5"
string(5) "100.5"
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst