<?php
/**
* bune
*/
class bune
{
function saf () {
$randlar[0] = 'x1';
$randlar[1] = 'x2';
$randlar[2] = 'x3';
$randlar[3] = 'x4';
}
function baba () {
echo $this->saf();
}
function salak (){
echo $this->saf();
}
}
$saf = new bune();
echo $saf->baba();
echo $saf->salak();
?>çıktısı x1 ve x2 değeri çıkıyor fakat ben ikisindede aynı değeri çıkmasını istiyorum bir türlüaklımda gelmiyor nasıl yapcam.
sınıfta functionlar arasında rand değeri kullanma|PHP
3
●82
- 30-04-2020, 18:25:56
- 30-04-2020, 18:42:14
<?php /** * bune */ class bune { private $rand; private $degerler = ['x1','x2','x3','x4']; public function __construct() { $this->rand = $this->degerler[rand(0, count($this->degerler) - 1)]; } public function baba() { return $this->rand; } public function salak() { return $this->rand; } } $saf = new bune(); echo $saf->baba(); echo $saf->salak(); - 30-04-2020, 18:51:28private $rand;Abdullahx adlı üyeden alıntı: mesajı görüntüle
neden kullandınız. - 30-04-2020, 18:55:41Sınıf başlatıldığı anda rastgele değeri içinde tutan ve sadece sınıf içinden erişilebilen bir değişken olması için. rastgele değeri sınıf başlatıldığı anda alıp kaydediyor, böylece sonradan değişmiyor. public olsaydı dışarıdan da çağırıp kullanabilirdiniz.
yani dışarıda sınıf başlatıldıktan sonra
echo $saf->rand;
yazsaydınız da aynı sonucu alırdınız.