Thanks for sharing your solution,
and for reminding me of the good old days on the PHP golf course.
After digging out my old notes, I can finally share my PHP solutions too.
I had many different 173 strokers, such as
(without bothering with the routine PHP bitwise ~ string inversion golfing trick
to reduce the " on the wall" strings below by one char -
see here
or the "Quoted Strings" section at The golf course looks great, my swing feels good, I like my chances (Part VI) for the gory details of this PHP trick):
<?for(;$c=($b=++$n." bottle$s of beer")." on the wall",99^$x="$c, $b.
$z$x";$s=s)$z="Take one down and pass it around, $c.
";echo$x."Go to the store and buy some more, $c.";
<?for(;$c=($b=++$n." bottle$z[20] of beer")." on the wall",99^$x="$c,
+$b.
$z$x";)$z="Take one down and pass it around, $c.
";echo$x."Go to the store and buy some more, $c.";
<?for(;99^$x=($c=($b=++$n." bottle$x[21] of beer")." on the wall").",
+$b.
$x";$x="Take one down and pass it around, $c.
$x")?><?=$x,"Go to the store and buy some more, $c.";
I had a mental block and just could not get to 172!
After I had given up, ToastyX mercifully gave me a hint,
and then I finally did get to 172 -- but did not submit
either of these two below because I would never have
thought of them without ToastyX's hint:
<?for(;99^$c=($b=++$n." bottle$x[21] of beer")." on the wall";$x="
Take one down and pass it around, $c.
$c, $b.$x")?><?="$c, $b.$x
Go to the store and buy some more, $c.";
<?for(;99^$c=($b=++$n." bottle$s of beer")." on the wall";$s=s)$x="
Take one down and pass it around, $c.
$c, $b.$x";echo"$c, $b.$x
Go to the store and buy some more, $c.";
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.