1-41编程

1-41编程

<?php

$people='所有VIP会员';

$zheko=0.8;

$price=1000;

$youhui=$zheko*$price;

echo sprintf('元旦折扣!所有%s乐享80%优惠!<br>原价%.2f¥的心动商品现价%.2f¥就能带回家哦!',$people,$price,$youhui);

为什么输出失败呢有报错。。。: sprintf(): Too few arguments in。。。

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

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

1回答
imooc_澈 2018-04-24 09:35:54

您好,因为你给了四个占位,但是只给了三个参数,另外%在这里是特殊字符,要原样输出一个%需要写成%%,最后一句输出修正如下:

echo sprintf('元旦折扣!所有%s乐享80%%优惠!<br>原价%.2f¥的心动商品现价%.2f¥就能带回家哦!',$people,$price,$price,$youhui);

如果解决了你的问题,请采纳,祝学习愉快~

  • 提问者 慕标4061023 #1
    为什么有两个$price
    2018-04-24 18:42:55
  • imooc_澈 回复 提问者 慕标4061023 #2
    你好,应该是一个price的,程序报错是因为将80%这里的百分号当做了一个占位符,这样就需要提供四个变量,将80%那里修改为80%%以后就只有三个占位符,提供三个变量就可以了,很抱歉此前解释有误,正确为: echo sprintf('元旦折扣!所有%s乐享80%优惠!<br>原价%.2f¥的心动商品现价%.2f¥就能带回家哦!',$people,$price,$youhui); 祝学习愉快~
    2018-04-24 19:07:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

在线咨询

领取优惠

免费试听

领取大纲

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