(PHP 5, PHP 7)
ArrayAccess::offsetExists — 锟斤拷锟揭伙拷锟狡拷锟轿伙拷锟斤拷欠锟斤拷锟斤拷
锟斤拷锟揭伙拷锟狡拷锟轿伙拷锟斤拷欠锟斤拷锟节★拷
锟斤拷一锟斤拷实锟斤拷锟斤拷 ArrayAccess 锟接口的讹拷锟斤拷使锟斤拷 isset() 锟斤拷 empty() 时锟斤拷锟剿凤拷锟斤拷锟斤拷执锟叫★拷
Note:
锟斤拷使锟斤拷 empty() 锟斤拷锟揭斤拷锟斤拷 ArrayAccess::offsetExists() 锟斤拷锟斤拷
TRUE
时锟斤拷ArrayAccess::offsetGet() 锟斤拷锟斤拷锟斤拷锟斤拷锟皆硷拷锟斤拷锟轿拷锟秸★拷
offset
锟斤拷要锟斤拷锟斤拷偏锟斤拷位锟矫★拷
锟缴癸拷时锟斤拷锟斤拷 TRUE
锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE
锟斤拷
Note:
锟斤拷锟揭伙拷锟斤拷遣锟斤拷锟斤拷头锟斤拷锟街碉拷锟斤拷锟斤拷兀锟斤拷锟斤拷锟阶拷锟轿�锟斤拷锟斤拷锟斤拷锟斤拷
Example #1 ArrayAccess::offsetExists() 锟斤拷锟斤拷
<?php
class obj implements arrayaccess {
public function offsetSet($offset, $value) {
var_dump(__METHOD__);
}
public function offsetExists($var) {
var_dump(__METHOD__);
if ($var == "foobar") {
return true;
}
return false;
}
public function offsetUnset($var) {
var_dump(__METHOD__);
}
public function offsetGet($var) {
var_dump(__METHOD__);
return "value";
}
}
$obj = new obj;
echo "Runs obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));
echo "\nRuns obj::offsetExists() and obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));
echo "\nRuns obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get\n";
var_dump(empty($obj["foobaz"]));
?>
锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�
Runs obj::offsetExists() string(17) "obj::offsetExists" bool(true) Runs obj::offsetExists() and obj::offsetGet() string(17) "obj::offsetExists" string(14) "obj::offsetGet" bool(false) Runs obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get string(17) "obj::offsetExists" bool(true)