(PHP 5, PHP 7, PHP 8)
ArrayAccess::offsetExists — Bir konumun mevcut olup olmadığına bakar
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.
offset
Varlığı sınanacak konum.
Başarı durumunda true
, başarısızlık durumunda false
döner.
Bilginize:
Dönüş değeri bool türünde değilse tür dönüşümü yapıldıktan sonra döndürülür.
Örnek 1 - ArrayAccess::offsetExists() örneği
<?php
class Sınıf implements ArrayAccess {
public function offsetSet($konum, $değer): void {
var_dump(__METHOD__);
}
public function offsetExists($var): bool {
var_dump(__METHOD__);
if ($var == "filanca") {
return true;
}
return false;
}
public function offsetUnset($var): void {
var_dump(__METHOD__);
}
#[\ReturnTypeWillChange]
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)