3-14编程练习

3-14编程练习

$pattern='/(\d{4})/(\d{2})/(\d{2})/';


$subject="今天是2017/10/10";


$result=preg_replace_callback($pattern,"callback",$subject);


var_dump($result);


function callback($car){


   rerurn ($car[1]+1).($car[2]+1).($car[3]+1);


}

怎么没有结果输出


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小尤 2019-09-07 16:11:40

同学你好,测试代码是可以实现的。如图所示:

http://img1.sycdn.imooc.com//climg/5d7365fb0001298003080063.jpg

同学可以将代码进行赋值粘贴进行测试。祝学习愉快!

  • 提问者 慕标5156652 #1
    <?php $pattern='/(\d{4})\/(\d{2})\/(\d{2})/'; $subject='2017\10\10'; $result=preg_replace_callback($pattern,"callback",$subject); var_dump($result); function callback($car){ return ($car[1]+1)."/".($car[2]+1)."/".($car[3]+1); } string(10) "2017\10\10" 结果没有改变
    2019-09-07 16:22:37
  • 好帮手慕小尤 回复 提问者 慕标5156652 #2
    同学你好,因为同学的$subject变量值为 2017\10\10,导致未匹配到日期,所以没有改变数据。建议同学将\修改为/(2017/10/10)。祝学习愉快!
    2019-09-07 16:32:36
好帮手慕小尤 2019-09-07 12:02:40

同学你好,同学的正则未匹配到内容。修改正则,代码如下:

<?php
$pattern = '/(\d{4})\/(\d{2})\/(\d{2})/';
$subject="今天是2017/10/10";
$result=preg_replace_callback($pattern,"callback",$subject);

var_dump($result);
function callback($car){
   return ($car[1]+1).'/'.($car[2]+1).'/'.($car[3]+1);
}

祝学习愉快!

  • 提问者 慕标5156652 #1
    经过修改后结果为2017/10/10 没有体现($car[1]+1).'/'.($car[2]+1).'/'.($car[3]+1);这一行代码
    2019-09-07 16:01:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师