1

SimpleXMLElement を使用して、非常に奇妙な動作を見つけました。

    $xmlstr = '<?xml version="1.0" standalone="yes"?>
<movies>
<movie>
    <title></title>
</movie>
</movies>';


$movies = new SimpleXMLElement($xmlstr);

$subelement = $movies->movie->title;

echo "Accesing normal: " . PHP_EOL;
echo var_dump($movies->movie->title) . PHP_EOL;
echo var_dump(empty($movies->movie->title)) . PHP_EOL;

echo "Accesing subelement: " . PHP_EOL;
echo var_dump($subelement) . PHP_EOL;
echo var_dump(empty($subelement)) . PHP_EOL;

空の関数は、メイン オブジェクトを使用してサブ要素にアクセスすると true を返し、サブ要素を含む変数を使用してサブ要素にアクセスすると false を返します。

要素を変数に渡すと、メイン要素から要素を渡す場合と空の動作が異なるのはなぜですか?

この場合、空は空であることを確認する方法ではないかもしれません。simpleXMLElement で要素が空であるかどうかを確認する正しい方法は何ですか?

4

2 に答える 2