02-05-2021, 08:50 AM
Benim çok önemsediğim ama hangi şirkette çalışırsam çalışayım oranın PHP developerlarının bilmediği bir konuya değinmek istedim.
PHP Pointers - PHP Göstericiler
PHP de bir değişkeni diğerine referans gösterip o değişkenin tekrar oluşmasını engelleyerek ram tasarrufu ve hız katkısı sağlar. Yani daha basit bir deyişle A değişkeni B değişkenine referans olursa B'nin tüm özellikleri A'ya geçer ama A değişkeni B değişkenine EŞİT OLMAZ. B değişkeni de A değişkenine eşit olmaz. Bu iki değişken sadece birbirlerine referans olurlar. Bir değişkenin diğerine referans olması için & işareti kullanılır.
Örnek 1:Peki normal eşittirden farkı ne?
Örnek 2:Yukarıdaki örnekte görüldüğü üzere A değişkeni B ye referans oldu ardından B değişkenini azalttık böylece A değişkeni de azalmış oldu.
Daha güzel nasıl kullanılır ? Herhangi bir objede yada dizilerde dizinin tamamını bir değişkene atamak yerine bir parçasını referans alabilirsiniz.
Örnek 3:Dizinin ilk elemanını referans alıp referansımızı 1 azalttık böylece dizinin içinde de azalmış oldu. var_dump a bakarsanız şeklinde birşey görürsünüz bunun pointer ile bağlı olduğunu gösterir.
PHP Pointers - PHP Göstericiler
PHP de bir değişkeni diğerine referans gösterip o değişkenin tekrar oluşmasını engelleyerek ram tasarrufu ve hız katkısı sağlar. Yani daha basit bir deyişle A değişkeni B değişkenine referans olursa B'nin tüm özellikleri A'ya geçer ama A değişkeni B değişkenine EŞİT OLMAZ. B değişkeni de A değişkenine eşit olmaz. Bu iki değişken sadece birbirlerine referans olurlar. Bir değişkenin diğerine referans olması için & işareti kullanılır.
Örnek 1:
PHP Kod:
$a=5;
$b=&$a;
var_dump($b);
//çıktısı 5 olur
Örnek 2:
PHP Kod:
$a=5;
$b=&$a;
$b--;
var_dump($a);
//çıktısı 4 olur
Daha güzel nasıl kullanılır ? Herhangi bir objede yada dizilerde dizinin tamamını bir değişkene atamak yerine bir parçasını referans alabilirsiniz.
Örnek 3:
PHP Kod:
$a=[1,2,3];
$b=&$a[0];
$b--;
var_dump($a);
/*çıktısı
array(3) {
[0]=>
&int(0)
[1]=>
int(2)
[2]=>
int(3)
}
*/
PHP Kod:
&int(0)
yazılım dersleri, php, kodlama, yazılım eğitimi