PHP练习--用for循环打印空心菱形,for菱形
思路:1,写出代码打印实心的金字塔
2、修改代码,把金字塔抛空
3、修改代码,把金字塔倒转
4、修改倒转后的代码,把金字塔抛空
5、修改代码,把具体的数进行参数化
1、写出代码打印实心金字的金字塔:

<?<span>php </span><span>//</span><span>$n=5;</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><=5;<span>$i</span>++<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-1;<span>$k</span>++<span>){ </span><span>echo</span> "*"<span>; } </span><span>echo</span> "<br/>"<span>; } </span>?>

2、
2、改善代码,把金字塔抛空

<?<span>php </span><span>//</span><span>$n=5;</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><=5;<span>$i</span>++<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-1;<span>$k</span>++<span>){ </span><span>//</span><span>打印第一行后最后一行都打*连接</span> <span>if</span>(<span>$i</span>==1 || <span>$i</span>==5<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==1 || <span>$k</span>==2*<span>$i</span>-1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } } </span><span>echo</span> "<br/>"<span>; } </span>?>

3、修改代码,把金字塔倒转

<?<span>php </span><span>//</span><span>$n=5;</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><=5;<span>$i</span>++<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-1;<span>$k</span>++<span>){ </span><span>//</span><span>打印第一行后最后一行都打*连接</span> <span>if</span>(<span>$i</span>==1 || <span>$i</span>==5<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==1 || <span>$k</span>==2*<span>$i</span>-1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } } </span><span>echo</span> "<br/>"<span>; } </span><span>//</span><span>倒转</span> <span>for</span>(<span>$i</span>=5;<span>$i</span>>=0;<span>$i</span>--<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=0;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-3;<span>$k</span>++<span>){ </span><span>echo</span> "*"<span>; } </span><span>echo</span> "<br/>"<span>; } </span>?>

4、修改倒转后的代码,把金字塔抛空,并把中间的*号去掉 修改这里的代码(if($i==1 || $i==5){ //去掉$i==5 把中间抛空)

<?<span>php </span><span>//</span><span>$n=5;</span> <span>for</span>(<span>$i</span>=1;<span>$i</span><=5;<span>$i</span>++<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-1;<span>$k</span>++<span>){ </span><span>//</span><span>打印第一行后最后一行都打*连接($i==1 || $i==5) </span> <span>if</span>(<span>$i</span>==1){ <span>//</span><span>去掉$i==5 把中间抛空</span> <span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==1 || <span>$k</span>==2*<span>$i</span>-1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } } </span><span>echo</span> "<br/>"<span>; } </span><span>//</span><span>倒转 抛空</span> <span>for</span>(<span>$i</span>=5;<span>$i</span>>=0;<span>$i</span>--<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=0;<span>$j</span><=5-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-3;<span>$k</span>++<span>){ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==2*<span>$i</span>-3 || <span>$k</span>==1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } </span><span>echo</span> "<br/>"<span>; } </span>?>

5、修改代码,把具体的数进行参数化 :把具体数字5改成$n=5代替,随后可以设置$n的值,可以任意放大和缩小

<?<span>php </span><span>$n</span>=5<span>; </span><span>for</span>(<span>$i</span>=1;<span>$i</span><=<span>$n</span>;<span>$i</span>++<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=1;<span>$j</span><=<span>$n</span>-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-1;<span>$k</span>++<span>){ </span><span>//</span><span>打印第一行后最后一行都打*连接($i==1 || $i==5) </span> <span>if</span>(<span>$i</span>==1){ <span>//</span><span>去掉$i==5 把中间抛空</span> <span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==1 || <span>$k</span>==2*<span>$i</span>-1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } } </span><span>echo</span> "<br/>"<span>; } </span><span>//</span><span>倒转 抛空</span> <span>for</span>(<span>$i</span>=<span>$n</span>;<span>$i</span>>=0;<span>$i</span>--<span>){ </span><span>//</span><span>打印空格</span> <span>for</span>(<span>$j</span>=0;<span>$j</span><=<span>$n</span>-<span>$i</span>;<span>$j</span>++<span>){ </span><span>echo</span> " "<span>; } </span><span>//</span><span>打印*号</span> <span>for</span>(<span>$k</span>=1;<span>$k</span><=2*<span>$i</span>-3;<span>$k</span>++<span>){ </span><span>//</span><span>怎么打空格和*号的问题</span> <span>if</span>(<span>$k</span>==2*<span>$i</span>-3 || <span>$k</span>==1<span>){ </span><span>echo</span> "*"<span>; }</span><span>else</span><span>{ </span><span>echo</span> " "<span>; } } </span><span>echo</span> "<br/>"<span>; } </span>?>

效果图:
最后大功告成。顺便说说 ,其实编程不难,难就难在怎么样的思路,怎样去解决问题的方法。所以大家在编程的过程中善于思考。尽管花了半天的时间去想,但是最后想出来了,问题也得到解决,所以平时要多动脑动手去实践。我们的编程能力才能提高。只有实践了,东西才能被理解,知识点也掌握了。

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考虑使用AttActAcks.s.s.4)

会话再生是指在用户进行敏感操作时生成新会话ID并使旧ID失效,以防会话固定攻击。实现步骤包括:1.检测敏感操作,2.生成新会话ID,3.销毁旧会话ID,4.更新用户端会话信息。

PHP会话对应用性能有显着影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器