我需要一些练习,我在PHP课程中设置了练习。我尝试了很多不同的方法,但都没有满足要求。任务是执行以下操作:
先决条件:
仅使用4行代码
<?php
,?>
标记分别计为一行。 输出:打印以下文字200次
“一切工作都没有让杰克成为一个沉闷的男孩。”
我假设它需要使用while循环,但我已经用尽了PHP的知识,并且无法提出解决方案。我不一定只是为了指向正确的方向而寻找答案。
谢谢。
答案 0 :(得分:2)
不确定我是否得到了,但是我试着......
function printsth ($count) {
echo $count++, "All work and no play makes jack a dull boy.<br>", $count <= 200 ? printsth($count++) : "";
}
printsth(1);
清洁版
function printsth ($count) {
echo "All work and no play makes jack a dull boy.<br>", $count++ < 200 ? printsth($count++) : "";
}
printsth(1);
答案 1 :(得分:1)
你走了:
$i = 0;
while ($i++ < 200){
echo("All work and no play makes jack a dull boy.");
}
答案 2 :(得分:1)
好的,既然你可以使用数组,那就相当简单了:
我建议您只浏览此页面并查看可用的功能:https://secure.php.net/manual/en/ref.array.php
如果想要使用递归函数,那么这个解决方案就会失败,并且教师可能希望将来限制使用除echo / print之外的任何内置php函数。
如果array_fill()
可以接受,则为第一个解决方案:
<?php
echo implode( "<br/>\n", array_fill(0, 200, "All work and no play makes jack a dull boy.") );
如果你不能使用array_fill()
,似乎<?php
被认为是四行要求之一,那么这就是这个spaghetto:
<?php
a: (isset($i)?++$i:$i=0);
echo "<!-- $i --> All work and no play makes jack a dull boy.<br/>\n";
if ( $i < 199 ) goto a;
......如果不允许第2行,那么我这样说:
<?php
a:
echo "<!-- ".(isset($i)?++$i:$i=0)." --> All work and no play makes jack a dull boy.<br/>\n";
if ( $i < 199 ) goto a;
答案 3 :(得分:1)
这是我的解决方案,使用递归和匿名函数(只是为了好玩)。
0