我有以下 PHP 函数,它在 -> 之后为我的 SimpleXML 采用 XML 路径。
function parseRecipeData($xmlPath) {
global $db_recipe_type;
global $db_recipe_filename;
global $xml;
$xml = simplexml_load_file($db_recipe_filename);
// var_dump($xml);
// Get data from XML Field
$requestedInfo = $xml->$xmlPath;
//var_dump($requestedInfo);
return $requestedInfo;
}
我的问题是 PHP 第 1 行不返回任何内容,而 PHP 第 2 行返回 XML 值。请注意,这$recipeSize = "batch->attributes()->quantity";
是在我的应用程序顶部定义的,应该是全局范围。我的 XML 树位于此代码的其余部分下方。
1:<?php echo parseRecipeData($recipeSize); ?>
2:<?php echo $xml->batch->attributes()->quantity; ?>
XML 结构
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE recipe>
<recipe>
<batch quantity="2.13 gal"/>
</recipe>
谁能明白为什么一个 PHP 行会返回一个函数并且不考虑它们应该解析为相同的代码?