ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.0.0, PHP 7)

ArrayAccess::offsetExistsBir konumun mevcut olup olmadığına bakar

Açıklama

abstract public boolean ArrayAccess::offsetExists ( mixed $konum )

Bir konumun mevcut olup olmadığına bakar.

ArrayAccess arayüzünü gerçekleyen nesneler üzerinde isset() veya empty() kullanıldığında bu yöntem çalıştırılır.

Bilginize:

empty() işlevi kullanıldığında ArrayAccess::offsetGet() çağrılır ve sadece dönen değer TRUE olduğu takdirde konumun boş olup olmadığına bakılır.

Değiştirgeler

konum

Varlığı sınanacak konum.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Bilginize:

Dönüş değeri boolean türünde değilse tür dönüşümü yapıldıktan sonra döndürülür.

Örnekler

Örnek 1 - ArrayAccess::offsetExists() örneği

<?php
class Sınıf implements arrayaccess {
    public function 
offsetSet($konum$değer) {
        
var_dump(__METHOD__);
    }
    public function 
offsetExists($var) {
        
var_dump(__METHOD__);
        if (
$var == "filanca") {
            return 
true;
        }
        return 
false;
    }
    public function 
offsetUnset($var) {
        
var_dump(__METHOD__);
    }
    public function 
offsetGet($var) {
        
var_dump(__METHOD__);
        return 
"değer";
    }
}

$nesne = new Sınıf;

echo 
"Sınıf::offsetExists() çalışır\n";
var_dump(isset($nesne["filanca"]));

echo 
"\nSınıf::offsetExists() ve Sınıf::offsetGet() çalışır\n";
var_dump(empty($nesne["filanca"]));

echo 
"\nSınıf::offsetExists() çalışır, alınacak bir şey olmadığından Sınıf::offsetGet() çalışmaz\n";
var_dump(empty($nesne["falanca"]));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sınıf::offsetExists() çalışır
string(21) "Sınıf::offsetExists"
bool(true)

Sınıf::offsetExists() ve Sınıf::offsetGet() çalışır
string(21) "Sınıf::offsetExists"
string(18) "Sınıf::offsetGet"
bool(false)

Sınıf::offsetExists() çalışır, alınacak bir şey olmadığından Sınıf::offsetGet() çalışmaz
string(21) "Sınıf::offsetExists"
bool(true)


ArrayAccess
PHP Manual