1-41练习但是有个提问,百分号80%(%d%%)这里算不算两个%符号,为什么不用占位符

1-41练习但是有个提问,百分号80%(%d%%)这里算不算两个%符号,为什么不用占位符

<?php

$str = "所有VIP会员";

$kong = "80";

$money = "1000";

$newmoney = "800";


echo sprintf("元旦折扣!%s乐享%d%%优惠",$str,$kong),"</br>";


echo sprintf("原价%.2f¥的心动商品现价%.2f¥就能带回家哦!",$money,$newmoney);


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

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

2回答
imooc_澈 2017-12-08 14:44:13

您好,字符串格式化函数中,第一个参数是字符串,例如:

"元旦折扣!%s乐享%d%%优惠“

在以上这个字符串中,前两个%对应着后面相应的参数值,分别为s:字符串类型和d:十进制数,而后一个百分号对应的不是一个类型参数,而是一个%,规定%%是直接返回一个%,它不需要有对应参数。

您所说的%多于arg参数时则必须使用占位符的情况指的是需要有对应参数的情况,《1-39 字符串格式化函数》的五分零七秒处有解释,当字符串中有多个%,每个%都需要对应一个参数,而参数数量又少的时候,才需要占位符\$.

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


  • 提问者 MosesVon #1
    wow,NBNB..
    2017-12-08 14:46:41
好帮手慕查理 2017-12-07 17:45:30

您好,%d(返回包含十进制数)输出的是80 ,%%(返回百分比符号)输出的是%,最终为80%。小慕不是很理解您的为什么不用占位符问题,请您详细描述一下,以便帮助您解决问题。祝学习愉快!

  • 提问者 MosesVon #1
    不是说%多于arg参数,则必须使用占位符吗,
    2017-12-08 10:15:40
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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