In versions prior to PHP 5.2.2 offsetExists() would return false if index value is null.
<?php
// running PHP 5.2.1
$params = new ArrayObject(array('INT'=>null, 'STR'=> null, 'BOOL'=>null, 'LOB'=>null));
$test = $params->offsetExists('INT');
var_dump($test);
// result would be bool(false)
// running PHP 5.2.2
$params = new ArrayObject(array('INT'=>null, 'STR'=> null, 'BOOL'=>null, 'LOB'=>null));
$test = $params->offsetExists('INT');
var_dump($test);
// result would be bool(true)
?>
Both tests where made on Windows platform.
ArrayObject::offsetExists
(PHP 5 >= 5.0.0)
ArrayObject::offsetExists — 要求されたインデックスが存在するかどうかを返す
説明
パラメータ
-
index -
調べたいインデックス。
返り値
指定したインデックスが存在する場合に TRUE、それ以外の場合に FALSE を返します。
例
例1 ArrayObject::offsetExists() の例
<?php
$arrayobj = new ArrayObject(array('zero', 'one', 'example'=>'e.g.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>
上の例の出力は以下となります。
bool(true) bool(true) bool(false)
goran at extensionsforjoomla dot com
09-Jul-2007 03:52
