php代码编写利用循环输出如下图形

什么是php编写循环输出图形

PHP是一种流行的开源脚本语言,它具有良好的编写代码的能力和快速开发Web应用程序的能力。在php编写中,循环是最常用的结构之一,它允许我们重复执行一条或多条语句。这个循环输出图形,就是利用php语言中for循环语句和字符串拼接函数拼接一段字符串打印出来的图形,该图形会根据我们输入一个数字的大小改变形状。

如何利用php编写循环输出图形

首先,我们需要输入一个正整数N,该数字将决定图形的大小。然后,我们使用for循环语句,将当前行的星号数目与当前行的行数建立关联,利用字符串拼接函数将一行的星号拼接起来,最后使用echo函数将每一行的星号打印出来即可。核心代码如下:

$N = 3; // 设置图形大小为3

for ($i = 1; $i <= $N; $i++) {      //  i表示行数
  $str = '';                        //  图形的一行
  for ($j = 1; $j <= $i; $j++) {    //  j表示当前行的星号数目
    $str .= '*';                    
  }
  echo $str . '
'; // 打印出一行 }

此时我们就可以在浏览器中查看到输出的图形, 可以自由定义其他更加有趣的形状。

php编写循环输出图形的优化

在上述代码中,我们使用了两层for循环语句,在图形比较大的时候,可能会导致性能问题。所以我们可以对其进行一些优化。一种方法是使用组合数学的知识,直接计算出每一行应该拼接的星号数目。具体来说,第i行应该有C(N-1,i-1)个星号,其中C(n,m)=n!/((n-m)!m!),表示从n个元素中选出m个元素的不同组合数。优化之后的代码片段如下:

$N = 3; // 设置图形大小为3
for ($i = 1; $i <= $N; $i++) {
  $starNum = factorial($N-1)/(factorial($i-1)*factorial($N-$i));
  echo str_repeat('*', $starNum) . '
'; } function factorial($n){ if($n<2){ return 1; }else{ return $n*factorial($n-1); } }

优化之后,我们可以更加高效的完成以上任务,计算结果更加严谨,如果需要输出更多有趣奇怪的形状,可以优先考虑使用此种方式。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/php-shr.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月3日 上午7:49
下一篇 2023年5月3日 上午7:49

猜你喜欢