今天我们带来的是查询每日星座运势的功能。 这个功能非常简单。 在微信平台输入星座名称加一个标识符(如“”),后台程序就会匹配这个标识符并调用相应的函数。 具体过程: 1.使用字符串分割函数()获取星座名称。 2. 匹配星座名称
今天我们带来的是查询每日星座运势的功能。 这个功能非常简单。 在微信平台输入星座名称加一个标识符(如“+”号),后台程序就会匹配这个标识符并调用相应的函数。
具体过程: 1.使用字符串分割函数()获取星座名称。
2. 将星座名称与对应的星座编号进行匹配。
3.将此编号传递给相应的API。
4.接收API返回的xml格式数据。

5.处理xml格式的数据。
6. 生成结果。
其中,由于我在制作过程中是初学者,所以在第五步上花了一些功夫。 API返回的xml格式为
332
……
2013-11-16
首先我使用()函数将API返回的数据文件读取为字符串。然后使用
…………
在这种格式中,我只能使用“”->item->方法读取第一项的数据。 这是我最终使用的方法。
foreach ($xml->item as $th) {
$content_title[$i] = $th->title;
$content_rank[$i] = $th->rank;
$content_value[$i] = $th->value;
$i++;
}
实现对这个对象“$xml”的遍历,并使用一个自增变量i将每组数据存储在一个数组中。
其中的语句用于循环遍历数组。
每次执行循环时,当前数组元素的值都会被赋给变量(数组指针被一一移动)——依此类推。
语法

foreach (array as value)
{
code to be executed;
}
例子
下面的示例演示了一个打印给定数组的值的循环:
程序源码如下:
function xingzuo($keyword) {
if (make_xingzuo($keyword)) {
$keyword = make_xingzuo($keyword);
$qurl = 'http://api.uihoo.com/astro/astro.http.php?fun=day&id=' . $keyword . '&format=xml';
$content = file_get_contents($qurl);
$xml = simplexml_load_string($content);
$i = 0;
foreach ($xml->item as $th) {
$content_title[$i] = $th->title;
$content_rank[$i] = $th->rank;
$content_value[$i] = $th->value;
$i++;
}
return "星座运势:\n综合运势:" . $content_rank[0] . "颗星\n爱情运势:" . $content_rank[1] . "颗星\n学习状态:" . $content_rank[2] . "颗星\n理财运势:" . $content_rank[3] . "颗星\n健康指数:" . $content_value[4] . "\n幸运颜色:" . $content_value[6] . "\n幸运数字:" . $content_value[7] . "\n速配星座:" . $content_value[8] . "\n综合概述:" . $content_value[9];
}
else
return "输入的星座小编不认识哎>_ '0','金牛座' => '1','双子座' => '2','巨蟹座' => '3','狮子座' => '4','处女座' => '5','天秤座' => '6','天平座' => '6','天蝎座' => '7','射手座' => '8','摩羯座' => '9','水瓶座' => '10','双鱼座' => '11');
if(strtr($keyword, $arr)0){
return strtr($keyword, $arr);
}
else {
return false;
}
}