您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 企业IT >> php如何循环执行数组实现微信模板消息推送给部分openID

php如何循环执行数组实现微信模板消息推送给部分openID

来源:网络整理     时间:2018/1/25 12:13:12     关键词:

关于网友提出的“ php如何循环执行数组实现微信模板消息推送给部分openID”问题疑问,本网通过在网上对“ php如何循环执行数组实现微信模板消息推送给部分openID”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: php如何循环执行数组实现微信模板消息推送给部分openID
描述:

最近在做微信服务号模板消息推送开发
想要实现一个功能。

我们是考证类服务号,要求实现给已经报名培训班的同学课前推送上课通知模板消息。
那么肯定要获取已经报培训班的同学的openID
然后给这一批openID推送模板消息。

但是我的代码只能实现给单个openID推送模板消息
所以我写了一个数组。

数组中
$touser = ['openID1','openID2','openID3']
存放了要发送的用户的openID
然后下面'touser' =>$touser[0],
[]里面的数字就是上面对应的openID
当[]里面的数字为0,那么就给openID1发送模板消息
当[]里面的数字为1,那么就给openID2发送模板消息
当[]里面的数字为2,那么就给openID3发送模板消息
.........

所以我想要实现的功能是
访问这个php文件
然后给$touser = ['openID1','openID2','openID3']里面所有的openID循环发送一遍
即然后下面'touser' =>$touser[这里的数字都得循环一遍],
然后就实现了所有的openID都发了一遍!

大神,代码怎么写???

以下是test.php

<?php
$ACCESS_TOKEN="这里写改成自己的ACCESS_TOKEN";//

$touser = ['ouD7BuHpIKRXPIz7pdrwI9IwDRCU','ouD7BuI36wSUZgteyiydmDrldQLU','ouD7BuLejq7R4Vbuyh41bH778cg0'];//openid数组
$data=array( 
'touser'=>$touser[0], //要发送给用户的openid
'template_id'=>"mfopDNUlvoBGGsPLB-d_nrfL8Je92xnTq5vk5ZBxL-w",//改成自己的模板id,在微信后台模板消息里查看
'url'=>"http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //自己网站链接url 
'data'=>array(
  'first'=>array(
    'value'=>"亲爱的同学,您有考试提醒,请查阅。",
    'color'=>"#000"
    ),
  'keyword1'=>array(
    'value'=>"2017下半年教师资格证面试",
    'color'=>"#f00"
    ), 
  'keyword2'=>array(
    'value'=>"2018-1-6",
    'color'=>"#173177"
    ), 
  'keyword3'=>array(
    'value'=>"请看您的准考证",
    'color'=>"#3d3d3d"
    ),
  'keyword4'=>array(
    'value'=>"教师资格证试讲",
    'color'=>"#3d3d3d"
    ),
  'keyword5'=>array(
    'value'=>"答辩,选题,结构化",
    'color'=>"#3d3d3d"
    ),
  'remark'=>array(
    'value'=>"\n现在是打印准考证时间,请您在考试前打印准考证,戳进来可以查看详情>>>",
    'color'=>"#3d3d3d"
    ),
)
);


$js//转化成json数组让微信可以接收
$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$ACCESS_TOKEN;//模板消息请求URL

$res=https_request($url,urldecode($json_data));//请求开始
$res=json_decode($res,true);

if($res['errcode']==0 && $res['errcode']=="ok"){
echo "发送成功!";
}


//curl请求函数,微信都是通过该函数请求
function https_request($url,$data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
?>

有更好的解决方案,大家帮个忙!


解决方案1:

没有结合数据库存储,你怎么记住哪些OPENID发送成功和失败了,你这个需要设计下。

解决方案2:

foreach ($touser as $k => $v)

{
        //$v就是每个openID
        //在循环里面这里写一句发送模板消息,就实现了所有的openID都发了一遍!
             
}


以上介绍了“ php如何循环执行数组实现微信模板消息推送给部分openID”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4534862.html

相关图片

相关文章