- assert: documentation ( source)
<?php
class MyStuff extends ArrayObject {
function offsetGet($offset) {
echo "Called", PHP_EOL;
return parent::offsetGet($offset);
}
}
$array = array(
'foo' => 42,
'baz' => null,
'k' => 0,
);
$array_object = new MyStuff($array);
// existing key, non-null value:
assert(isset($array['foo']) === true);
assert(empty($array['foo']) === false);
assert(isset($array_object['foo']) === true);
assert(empty($array_object['foo']) === false);
// non-existing key:
assert(isset($array['bar']) === false);
assert(empty($array['bar']) === true);
assert(isset($array_object['bar']) === false);
assert(empty($array_object['bar']) === true);
// key where value is null:
assert(isset($array['baz']) === false);
assert(empty($array['baz']) === true);
assert(isset($array_object['baz']) === false);
assert(empty($array_object['baz']) === true);
// key where value is 0:
assert(isset($array['k']) === true);
assert(empty($array['k']) === true);
assert(isset($array_object['k']) === true);
assert(empty($array_object['k']) === true);