ArrayAccess::offsetExists

(PHP 5, PHP 7)

ArrayAccess::offsetExists锟斤拷锟揭伙拷锟狡拷锟轿伙拷锟斤拷欠锟斤拷锟斤拷

说锟斤拷

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

锟斤拷锟揭伙拷锟狡拷锟轿伙拷锟斤拷欠锟斤拷锟节★拷

锟斤拷一锟斤拷实锟斤拷锟斤拷 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)