【发布时间】:2011-05-03 17:22:48
【问题描述】:
好的,所以我正在另一台服务器上查询一个页面,该页面返回一个逗号分隔的两个值列表。它会返回的东西是:
850,640
我有一些 PHP 代码在该页面上调用 file_get_contents,需要根据这两个值进行一些数值计算。
无论我尝试什么,我似乎都无法从中获得 int 值。
$res = trim(file_get_contents('http://thatURL/'));
echo "X" . $res . "X<br/>";
list($x,$y) = array_map(create_function('$a', 'return (int)$a;'), explode(',', $res));
echo "X:$x";
输出结果:
X 850,640 X
X:0
注意逗号分隔值前后的空格(到底是怎么回事?我trim'd 他们!)并且$x 被分配了值0。
我在这里做错了什么?
【问题讨论】:
-
您是否尝试过在自定义回调中进行修剪?
-
我用
$res = trim(" 850,640 ");试过你的代码,它工作正常。您确定您的网址真的包含这些数字吗?另请注意,您可以使用 intval() 而不是使用自己的函数 -
查看源代码或以纯文本形式打印将非常有用。正如 Hamish 指出的那样,您可能正在打印围绕空白的 HTML,据我所知,您肯定是从浏览器的视口而不是 HTML 源复制和粘贴。