ArrayAccess::offsetExists

(PHP 5, 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)

add a note add a note

User Contributed Notes 1 note

up
3
driezasson at icloud dot com
3 years ago
Note that even though isset/empty works on classes implementing ArrayAccess, array_key_exists does not. At least not in PHP 5.3.
To Top