返回的类型数组在PHP中不显示内容
背景: 创建一个显示世界各国货币汇率的网站 我有一个从XML文档中检索汇率和货币标题的函数:返回的类型数组在PHP中不显示内容,php,arrays,return-type,Php,Arrays,Return Type,背景: 创建一个显示世界各国货币汇率的网站 我有一个从XML文档中检索汇率和货币标题的函数: function get_rate(SimpleXMLElement $xml, $x) { $currency['rate'] = $xml->channel->item[$x]->description; preg_match('/([0-9]+\.[0-9]+)/', $currency['rate'], $matches); $rate = $mat
function get_rate(SimpleXMLElement $xml, $x) {
$currency['rate'] = $xml->channel->item[$x]->description;
preg_match('/([0-9]+\.[0-9]+)/', $currency['rate'], $matches);
$rate = $matches[0];
$title['rate'] = $xml->channel->item[$x]->title;
$title = explode('/', $title['rate']);
$title = $title[0];
return array(
$currency[0],
$title[1]
);
// echo $rate . ' ' . $title . '<br />';
}
问题是否是因为我在
get\u rate
函数中声明了不同的变量名 当您回显非字符串、非数字类型时,您将只打印出对象类型。这是所有语言的标准行为
它本质上要求从对象中创建一个字符串,对于更复杂的类型,很难理解如何将它们转换为字符串,因此它只输出类型
要获得所需的行为,您需要回显数组中的字符串,并直接引用它们,如下所示:
$rate = get_rate($xml, $x);
echo $rate[0] . ' '. $rate[1];
另外,要查看对象内部的所有内容,还可以使用:
var_dump( get_rate($xml, $x));
这不会以最漂亮的方式格式化,但它允许您“查看”您的对象。使用并查看这是否有助于您找到您拥有的变量。为什么在每种情况下都要调用两次get\u rate()。@vascowhite是的,两次调用它们是不相关的。
案例15:get\u rate($xml,15)//15欧元var_dump(获取率($xml,$x))
返回array(2){[0]=>NULL[1]=>NULL}
好的,所以得到的是NULL值。什么是$x
?我看不出它的定义。正确$x
是解析为PHP\u URL\u查询的参数
。e、 g.x=15
它定义了
标记在XML文档中的位置<代码>'http://themoneyconverter.com/rss-feed/GBP/rss.xml?x=15“get\u rate中的return
语句错误。它应该是返回数组($rate,$title)代码>。是的,这里没走多远。将花费更多的时间进行调试。var dump正在返回array(2){[0]=>NULL[1]=>string(0)“}
$rate = get_rate($xml, $x);
echo $rate[0] . ' '. $rate[1];
var_dump( get_rate($xml, $x));