<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Wettbewerb: 10.000 Zahlen ausschreiben</title>
	<atom:link href="http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/feed" rel="self" type="application/rss+xml" />
	<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben</link>
	<description>Ein PHP Blog mit Themen aller Art. Manchmal vergewaltige ich PHP...</description>
	<lastBuildDate>Wed, 19 Jun 2013 18:34:03 +0200</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>Von: maybe</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-2#comment-51710</link>
		<dc:creator>maybe</dc:creator>
		<pubDate>Thu, 12 Jan 2012 15:20:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-51710</guid>
		<description><![CDATA[15 Zeilen mit &quot;&quot;. Vergessen hinzuschreiben :)]]></description>
		<content:encoded><![CDATA[<p>15 Zeilen mit &#8220;&#8221;. Vergessen hinzuschreiben <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: maybe</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-2#comment-51709</link>
		<dc:creator>maybe</dc:creator>
		<pubDate>Thu, 12 Jan 2012 15:19:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-51709</guid>
		<description><![CDATA[&lt;code&gt;
&lt;?php
$namen = array(&#039;null&#039;,&#039;ein&#039;,&#039;zwei&#039;,&#039;drei&#039;,&#039;vier&#039;,utf8_decode(&#039;fünf&#039;),&#039;sechs&#039;,&#039;sieben&#039;,&#039;acht&#039;,&#039;neun&#039;,&#039;zehn&#039;,&#039;elf&#039;,utf8_decode(&#039;zwölf&#039;));
for ($i=1; $i=1000) $myNumber.= $namen[intval(substr($number,0,-3))].&#039;tausend&#039;;
	if(intval($number) &gt;=100 &amp;&amp; intval(substr($number,-3)) &gt; 0)$myNumber.= $namen[intval(substr($number,-3,1))].&#039;hundert&#039;;
	while (strlen($number) &gt;2) $number=substr($number,1);	
	$myNumber 	.= (intval($number) &lt;= 12)?($namen[intval($number)]):(($number&lt;20)?(substr($namen[intval(substr($number,1,1))],0,4).&#039;zehn&#039;):(($number == 20)?(&#039;zwanzig&#039;):(($number &lt; 30)?($namen[intval(substr($number,1,1))].&#039;undzwanzig&#039;):(($number 29)?((intval($number)&lt;40)?(&#039;ssig&#039;):(&#039;zig&#039;)):(&#039;&#039;);
	if(substr($myNumber,-4) == &quot;null&quot;) $myNumber = substr($myNumber,0,-4);
	if(substr($myNumber,-3) == &quot;ein&quot;) $myNumber.= &#039;s&#039;;
 	echo &#039;&#039;.ucfirst(utf8_encode($myNumber));
}
?&gt;&lt;/code&gt;]]></description>
		<content:encoded><![CDATA[<p><code><br />
&lt;?php<br />
$namen = array(&#039;null&#039;,&#039;ein&#039;,&#039;zwei&#039;,&#039;drei&#039;,&#039;vier&#039;,utf8_decode(&#039;fünf&#039;),&#039;sechs&#039;,&#039;sieben&#039;,&#039;acht&#039;,&#039;neun&#039;,&#039;zehn&#039;,&#039;elf&#039;,utf8_decode(&#039;zwölf&#039;));<br />
for ($i=1; $i=1000) $myNumber.= $namen[intval(substr($number,0,-3))].'tausend';<br />
	if(intval($number) &gt;=100 &amp;&amp; intval(substr($number,-3)) &gt; 0)$myNumber.= $namen[intval(substr($number,-3,1))].'hundert';<br />
	while (strlen($number) &gt;2) $number=substr($number,1);<br />
	$myNumber 	.= (intval($number) &lt;= 12)?($namen[intval($number)]):(($number&lt;20)?(substr($namen[intval(substr($number,1,1))],0,4).&#039;zehn&#039;):(($number == 20)?(&#039;zwanzig&#039;):(($number &lt; 30)?($namen[intval(substr($number,1,1))].&#039;undzwanzig&#039;):(($number 29)?((intval($number)&lt;40)?(&#039;ssig&#039;):(&#039;zig&#039;)):(&#039;&#039;);<br />
	if(substr($myNumber,-4) == &quot;null&quot;) $myNumber = substr($myNumber,0,-4);<br />
	if(substr($myNumber,-3) == &quot;ein&quot;) $myNumber.= &#039;s&#039;;<br />
 	echo &#039;'.ucfirst(utf8_encode($myNumber));<br />
}<br />
?&gt;</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Linkliste 21 at Random People</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-2#comment-5431</link>
		<dc:creator>Linkliste 21 at Random People</dc:creator>
		<pubDate>Sun, 30 Jan 2011 05:05:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-5431</guid>
		<description><![CDATA[[...] Fahrradschloss hebt Drahtesel in luftige und sichere Höhe am Laternenpfahl &#8211; Engadget German Wettbewerb: 10.000 Zahlen ausschreiben &#124; PHP Gangsta &#8211; Der PHP Blog WordPress: Mit PHP und XML-RPC bloggen &#124; felixtriller.de Weiße Flecken auf Schloss Montabaur [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Fahrradschloss hebt Drahtesel in luftige und sichere Höhe am Laternenpfahl &#8211; Engadget German Wettbewerb: 10.000 Zahlen ausschreiben | PHP Gangsta &#8211; Der PHP Blog WordPress: Mit PHP und XML-RPC bloggen | felixtriller.de Weiße Flecken auf Schloss Montabaur [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ralf</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-5065</link>
		<dc:creator>Ralf</dc:creator>
		<pubDate>Sat, 15 Jan 2011 09:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-5065</guid>
		<description><![CDATA[Auf vielfachen Wunsch ;) und sehr verspätet hier noch ein Lösungsansatz. Die Klasse kann Zahlen bis zu 999 Quindezilliarden (999 gefolgt von 93 Stellen) umwandeln.

Ich habe einfach ohne Konzept oder Planung angefangen, erstes Ziel war halt das es funktioniert. Der Kern sind die beiden Methoden _toWord() und _numGroups(). Da steckt mit Sicherheit noch viel Optimierungspotenzial drin.
Nächstes Ziel soll sein, dass man die Klasse für beliebige Sprachen (Englisch, Französisch, Spanisch, usw) anpassen kann. Dazu müsste man lediglich die Methoden _toWord() und _numGroups(), sowie halt die Zahlennamen austauschen.

http://pastebin.com/R9vZB8cQ]]></description>
		<content:encoded><![CDATA[<p>Auf vielfachen Wunsch <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  und sehr verspätet hier noch ein Lösungsansatz. Die Klasse kann Zahlen bis zu 999 Quindezilliarden (999 gefolgt von 93 Stellen) umwandeln.</p>
<p>Ich habe einfach ohne Konzept oder Planung angefangen, erstes Ziel war halt das es funktioniert. Der Kern sind die beiden Methoden _toWord() und _numGroups(). Da steckt mit Sicherheit noch viel Optimierungspotenzial drin.<br />
Nächstes Ziel soll sein, dass man die Klasse für beliebige Sprachen (Englisch, Französisch, Spanisch, usw) anpassen kann. Dazu müsste man lediglich die Methoden _toWord() und _numGroups(), sowie halt die Zahlennamen austauschen.</p>
<p><a href="http://pastebin.com/R9vZB8cQ" rel="nofollow">http://pastebin.com/R9vZB8cQ</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Zahlen-Zahlen-Zahlen &#8211; Yoda Condition</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4938</link>
		<dc:creator>Zahlen-Zahlen-Zahlen &#8211; Yoda Condition</dc:creator>
		<pubDate>Fri, 07 Jan 2011 00:07:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4938</guid>
		<description><![CDATA[[...] Kliewe hatte vor einiger Zeit erneut zu einem Wettbewerb aufgerufen. Diesmal galt es die Zahlen von 1 bis 10.000 als Zahlworte auszugeben. Relativ schnell kamen dann [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Kliewe hatte vor einiger Zeit erneut zu einem Wettbewerb aufgerufen. Diesmal galt es die Zahlen von 1 bis 10.000 als Zahlworte auszugeben. Relativ schnell kamen dann [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Chris</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4881</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Sun, 02 Jan 2011 06:54:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4881</guid>
		<description><![CDATA[echo &#039;eins&#039;;
echo &#039;zwei&#039;;
echo &#039;drei&#039;;
echo &#039;vier&#039;;
echo &#039;sechs&#039;;
echo &#039;sieben&#039;;
echo &#039;acht&#039;;
echo &#039;neun&#039;;
echo &#039;zehn&#039;;
echo &#039;elf&#039;;
... 

:-)]]></description>
		<content:encoded><![CDATA[<p>echo &#8216;eins&#8217;;<br />
echo &#8216;zwei&#8217;;<br />
echo &#8216;drei&#8217;;<br />
echo &#8216;vier&#8217;;<br />
echo &#8216;sechs&#8217;;<br />
echo &#8216;sieben&#8217;;<br />
echo &#8216;acht&#8217;;<br />
echo &#8216;neun&#8217;;<br />
echo &#8216;zehn&#8217;;<br />
echo &#8216;elf&#8217;;<br />
&#8230; </p>
<p> <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Benjamin Zikarsky</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4864</link>
		<dc:creator>Benjamin Zikarsky</dc:creator>
		<pubDate>Fri, 31 Dec 2010 15:11:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4864</guid>
		<description><![CDATA[Deine 2. Implementierung (die kurze) läuft fehlerfrei ist dafür aber danke RegExp auch sehr langsam. Ergebnisse laut Rodneys Test:


approach &#124; time   &#124; memory &#124; peak    &#124; characters &#124; errors
---------&#124;--------&#124;--------&#124;---------&#124;------------&#124;--------
carsten2 &#124; 1.2738 &#124; 332.96 &#124; 1022.95 &#124; 535        &#124; -
carsten  &#124; 0.3123 &#124; 332.73 &#124; 1021.44 &#124; 1171       &#124; 1000, 1001, 1016
]]></description>
		<content:encoded><![CDATA[<p>Deine 2. Implementierung (die kurze) läuft fehlerfrei ist dafür aber danke RegExp auch sehr langsam. Ergebnisse laut Rodneys Test:</p>
<p>approach | time   | memory | peak    | characters | errors<br />
&#8212;&#8212;&#8212;|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8211;<br />
carsten2 | 1.2738 | 332.96 | 1022.95 | 535        | -<br />
carsten  | 0.3123 | 332.73 | 1021.44 | 1171       | 1000, 1001, 1016</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Michael Kliewe</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4863</link>
		<dc:creator>Michael Kliewe</dc:creator>
		<pubDate>Fri, 31 Dec 2010 15:09:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4863</guid>
		<description><![CDATA[@Carsten: Am besten gist, pastie oder sowas benutzen, ich habe keine Ahnung wie ich Wordpress beibringe Code in Kommentaren korrekt anzuzeigen.]]></description>
		<content:encoded><![CDATA[<p>@Carsten: Am besten gist, pastie oder sowas benutzen, ich habe keine Ahnung wie ich WordPress beibringe Code in Kommentaren korrekt anzuzeigen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Benjamin Zikarsky</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4862</link>
		<dc:creator>Benjamin Zikarsky</dc:creator>
		<pubDate>Fri, 31 Dec 2010 15:05:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4862</guid>
		<description><![CDATA[$ php test.php carsten run
carsten
0.3112
332.73
1021.32
1171
1000, 1001, 1016

Deine Implementierung macht noch Fehler bei &quot;eintausend&quot;. Aktuell kommt noch &quot;einstausend&quot; heraus ;-)]]></description>
		<content:encoded><![CDATA[<p>$ php test.php carsten run<br />
carsten<br />
0.3112<br />
332.73<br />
1021.32<br />
1171<br />
1000, 1001, 1016</p>
<p>Deine Implementierung macht noch Fehler bei &#8220;eintausend&#8221;. Aktuell kommt noch &#8220;einstausend&#8221; heraus <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Carsten Milkau</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4861</link>
		<dc:creator>Carsten Milkau</dc:creator>
		<pubDate>Fri, 31 Dec 2010 15:03:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4861</guid>
		<description><![CDATA[17 lines, a lot less readable: (how do I get it correctly formatted in this blog??)
&lt;code&gt;&lt;?php
        $fx=&quot;explode&quot;;
        $T=$fx(&quot; &quot;,&quot; ein zwei drei vier fünf sechs sieben acht neun zehn elf zwölf zig hundert tausend sech sieb ßig und zwan \n s&quot;);
        $S=$fx(&quot; &quot;,&#039;19,0,13,/ 0,1[49],/ 1,13/10 19,10/10 1,10/11 2,10/12 ([67]),(1[03])/1\1,\2 2,13/20,13 3,13/3,18 1,21/1,22,21 0,15,/&#039;);
        for($i=1;$i&lt;=10000;$i++)
        {
                $N=str_split(sprintf(&quot;%05d&quot;,$i));
                $N=&quot;0,{$N[1]},19,{$N[0]},13,15,{$N[2]},14,{$N[4]},19,{$N[3]},13,21&quot;;
                foreach ($S as $R)
                {
                        list($P,$Q)=$fx(&quot;/&quot;,$R);
                        $N=preg_replace(&quot;/\b$P\b/&quot;,$Q,$N);
                }
                foreach($fx(&quot;,&quot;,$N) as $D)
                        echo $T[$D];
        }
?&gt;&lt;/code&gt;]]></description>
		<content:encoded><![CDATA[<p>17 lines, a lot less readable: (how do I get it correctly formatted in this blog??)<br />
<code>&lt;?php<br />
        $fx=&quot;explode&quot;;<br />
        $T=$fx(&quot; &quot;,&quot; ein zwei drei vier fünf sechs sieben acht neun zehn elf zwölf zig hundert tausend sech sieb ßig und zwan \n s&quot;);<br />
        $S=$fx(&quot; &quot;,'19,0,13,/ 0,1[49],/ 1,13/10 19,10/10 1,10/11 2,10/12 ([67]),(1[03])/1\1,\2 2,13/20,13 3,13/3,18 1,21/1,22,21 0,15,/');<br />
        for($i=1;$i&lt;=10000;$i++)<br />
        {<br />
                $N=str_split(sprintf(&quot;%05d&quot;,$i));<br />
                $N=&quot;0,{$N[1]},19,{$N[0]},13,15,{$N[2]},14,{$N[4]},19,{$N[3]},13,21&quot;;<br />
                foreach ($S as $R)<br />
                {<br />
                        list($P,$Q)=$fx(&quot;/&quot;,$R);<br />
                        $N=preg_replace(&quot;/\b$P\b/&quot;,$Q,$N);<br />
                }<br />
                foreach($fx(&quot;,&quot;,$N) as $D)<br />
                        echo $T[$D];<br />
        }<br />
?&gt;</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Carsten Milkau</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4860</link>
		<dc:creator>Carsten Milkau</dc:creator>
		<pubDate>Fri, 31 Dec 2010 14:59:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4860</guid>
		<description><![CDATA[hopefully more readable:
&lt;?php
$specials = array(
   1 =&gt; &quot;eins&quot;,
  10 =&gt; &quot;zehn&quot;,
  11 =&gt; &quot;elf&quot;,
  12 =&gt; &quot;zwölf&quot;,
  16 =&gt; &quot;sechzehn&quot;,
  17 =&gt; &quot;siebzehn&quot;,
  20 =&gt; &quot;zwanzig&quot;,
  30 =&gt; &quot;dreißig&quot;,
  60 =&gt; &quot;sechzig&quot;,
  70 =&gt; &quot;siebzig&quot;,
);
$digits = array(
  1 =&gt; &quot;ein&quot;,
  2 =&gt; &quot;zwei&quot;,
  3 =&gt; &quot;drei&quot;,
  4 =&gt; &quot;vier&quot;,
  5 =&gt; &quot;fünf&quot;,
  6 =&gt; &quot;sechs&quot;,
  7 =&gt; &quot;sieben&quot;,
  8 =&gt; &quot;acht&quot;,
  9 =&gt; &quot;neun&quot;,
);

for ($i=1; $i&lt;=10000; $i++)
{
  $sSixDigits = array();
  
  for ($iSixDigits = $i % 1000000; $iSixDigits &gt; 0; $iSixDigits = floor($iSixDigits / 1000))
  {
    $iThreeDigits = $iSixDigits % 1000;  
    $iTwoDigits = $iThreeDigits % 100;
    $lastDigit = $iTwoDigits % 10;
    $sThreeDigits = &quot;&quot;;
    
    if ($lastDigit &gt; 0 &amp;&amp; !array_key_exists($iTwoDigits, $specials))
    {
      $sThreeDigits = $digits[$lastDigit];
      $iTwoDigits -= $lastDigit;
      if ($iTwoDigits &gt;= 20)
      {
        $sThreeDigits .= &quot;und&quot;;
      }
    }
    
    if (array_key_exists($iTwoDigits, $specials))
    {
      $sThreeDigits .= $specials[$iTwoDigits];
    }
    elseif ($iTwoDigits &gt; 0)
    {
      $sThreeDigits .= $digits[$iTwoDigits / 10] . &quot;zig&quot;;
    }
    
    $hundreds = floor($iThreeDigits / 100);
    if ($hundreds &gt; 0)
    {
      $sThreeDigits = $digits[$hundreds] . &quot;hundert&quot; . $sThreeDigits;
    }
    
    array_unshift($sSixDigits, $sThreeDigits);
  }
  
  echo implode(&quot;tausend&quot;, $sSixDigits) . &quot;\n&quot;;
}
?&gt;
]]></description>
		<content:encoded><![CDATA[<p>hopefully more readable:<br />
&lt;?php<br />
$specials = array(<br />
   1 =&gt; &quot;eins&quot;,<br />
  10 =&gt; &quot;zehn&quot;,<br />
  11 =&gt; &quot;elf&quot;,<br />
  12 =&gt; &quot;zwölf&quot;,<br />
  16 =&gt; &quot;sechzehn&quot;,<br />
  17 =&gt; &quot;siebzehn&quot;,<br />
  20 =&gt; &quot;zwanzig&quot;,<br />
  30 =&gt; &quot;dreißig&quot;,<br />
  60 =&gt; &quot;sechzig&quot;,<br />
  70 =&gt; &quot;siebzig&quot;,<br />
);<br />
$digits = array(<br />
  1 =&gt; &quot;ein&quot;,<br />
  2 =&gt; &quot;zwei&quot;,<br />
  3 =&gt; &quot;drei&quot;,<br />
  4 =&gt; &quot;vier&quot;,<br />
  5 =&gt; &quot;fünf&quot;,<br />
  6 =&gt; &quot;sechs&quot;,<br />
  7 =&gt; &quot;sieben&quot;,<br />
  8 =&gt; &quot;acht&quot;,<br />
  9 =&gt; &quot;neun&quot;,<br />
);</p>
<p>for ($i=1; $i&lt;=10000; $i++)<br />
{<br />
  $sSixDigits = array();</p>
<p>  for ($iSixDigits = $i % 1000000; $iSixDigits &gt; 0; $iSixDigits = floor($iSixDigits / 1000))<br />
  {<br />
    $iThreeDigits = $iSixDigits % 1000;<br />
    $iTwoDigits = $iThreeDigits % 100;<br />
    $lastDigit = $iTwoDigits % 10;<br />
    $sThreeDigits = &quot;&quot;;</p>
<p>    if ($lastDigit &gt; 0 &amp;&amp; !array_key_exists($iTwoDigits, $specials))<br />
    {<br />
      $sThreeDigits = $digits[$lastDigit];<br />
      $iTwoDigits -= $lastDigit;<br />
      if ($iTwoDigits &gt;= 20)<br />
      {<br />
        $sThreeDigits .= &quot;und&quot;;<br />
      }<br />
    }</p>
<p>    if (array_key_exists($iTwoDigits, $specials))<br />
    {<br />
      $sThreeDigits .= $specials[$iTwoDigits];<br />
    }<br />
    elseif ($iTwoDigits &gt; 0)<br />
    {<br />
      $sThreeDigits .= $digits[$iTwoDigits / 10] . &quot;zig&quot;;<br />
    }</p>
<p>    $hundreds = floor($iThreeDigits / 100);<br />
    if ($hundreds &gt; 0)<br />
    {<br />
      $sThreeDigits = $digits[$hundreds] . &quot;hundert&quot; . $sThreeDigits;<br />
    }</p>
<p>    array_unshift($sSixDigits, $sThreeDigits);<br />
  }</p>
<p>  echo implode(&quot;tausend&quot;, $sSixDigits) . &quot;\n&quot;;<br />
}<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Carsten Milkau</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4859</link>
		<dc:creator>Carsten Milkau</dc:creator>
		<pubDate>Fri, 31 Dec 2010 14:51:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4859</guid>
		<description><![CDATA[67 Zeilen, aber lesbar:
 &quot;eins&quot;,
  10 =&gt; &quot;zehn&quot;,
  11 =&gt; &quot;elf&quot;,
  12 =&gt; &quot;zwölf&quot;,
  16 =&gt; &quot;sechzehn&quot;,
  17 =&gt; &quot;siebzehn&quot;,
  20 =&gt; &quot;zwanzig&quot;,
  30 =&gt; &quot;dreißig&quot;,
  60 =&gt; &quot;sechzig&quot;,
  70 =&gt; &quot;siebzig&quot;,
);
$digits = array(
  1 =&gt; &quot;ein&quot;,
  2 =&gt; &quot;zwei&quot;,
  3 =&gt; &quot;drei&quot;,
  4 =&gt; &quot;vier&quot;,
  5 =&gt; &quot;fünf&quot;,
  6 =&gt; &quot;sechs&quot;,
  7 =&gt; &quot;sieben&quot;,
  8 =&gt; &quot;acht&quot;,
  9 =&gt; &quot;neun&quot;,
);

for ($i=1; $i 0; $iSixDigits = floor($iSixDigits / 1000))
  {
    $iThreeDigits = $iSixDigits % 1000;  
    $iTwoDigits = $iThreeDigits % 100;
    $lastDigit = $iTwoDigits % 10;
    $sThreeDigits = &quot;&quot;;
    
    if ($lastDigit &gt; 0 &amp;&amp; !array_key_exists($iTwoDigits, $specials))
    {
      $sThreeDigits = $digits[$lastDigit];
      $iTwoDigits -= $lastDigit;
      if ($iTwoDigits &gt;= 20)
      {
        $sThreeDigits .= &quot;und&quot;;
      }
    }
    
    if (array_key_exists($iTwoDigits, $specials))
    {
      $sThreeDigits .= $specials[$iTwoDigits];
    }
    elseif ($iTwoDigits &gt; 0)
    {
      $sThreeDigits .= $digits[$iTwoDigits / 10] . &quot;zig&quot;;
    }
    
    $hundreds = floor($iThreeDigits / 100);
    if ($hundreds &gt; 0)
    {
      $sThreeDigits = $digits[$hundreds] . &quot;hundert&quot; . $sThreeDigits;
    }
    
    array_unshift($sSixDigits, $sThreeDigits);
  }
  
  echo implode(&quot;tausend&quot;, $sSixDigits) . &quot;\n&quot;;
}
?&gt;]]></description>
		<content:encoded><![CDATA[<p>67 Zeilen, aber lesbar:<br />
 &#8220;eins&#8221;,<br />
  10 =&gt; &#8220;zehn&#8221;,<br />
  11 =&gt; &#8220;elf&#8221;,<br />
  12 =&gt; &#8220;zwölf&#8221;,<br />
  16 =&gt; &#8220;sechzehn&#8221;,<br />
  17 =&gt; &#8220;siebzehn&#8221;,<br />
  20 =&gt; &#8220;zwanzig&#8221;,<br />
  30 =&gt; &#8220;dreißig&#8221;,<br />
  60 =&gt; &#8220;sechzig&#8221;,<br />
  70 =&gt; &#8220;siebzig&#8221;,<br />
);<br />
$digits = array(<br />
  1 =&gt; &#8220;ein&#8221;,<br />
  2 =&gt; &#8220;zwei&#8221;,<br />
  3 =&gt; &#8220;drei&#8221;,<br />
  4 =&gt; &#8220;vier&#8221;,<br />
  5 =&gt; &#8220;fünf&#8221;,<br />
  6 =&gt; &#8220;sechs&#8221;,<br />
  7 =&gt; &#8220;sieben&#8221;,<br />
  8 =&gt; &#8220;acht&#8221;,<br />
  9 =&gt; &#8220;neun&#8221;,<br />
);</p>
<p>for ($i=1; $i 0; $iSixDigits = floor($iSixDigits / 1000))<br />
  {<br />
    $iThreeDigits = $iSixDigits % 1000;<br />
    $iTwoDigits = $iThreeDigits % 100;<br />
    $lastDigit = $iTwoDigits % 10;<br />
    $sThreeDigits = &#8220;&#8221;;</p>
<p>    if ($lastDigit &gt; 0 &amp;&amp; !array_key_exists($iTwoDigits, $specials))<br />
    {<br />
      $sThreeDigits = $digits[$lastDigit];<br />
      $iTwoDigits -= $lastDigit;<br />
      if ($iTwoDigits &gt;= 20)<br />
      {<br />
        $sThreeDigits .= &#8220;und&#8221;;<br />
      }<br />
    }</p>
<p>    if (array_key_exists($iTwoDigits, $specials))<br />
    {<br />
      $sThreeDigits .= $specials[$iTwoDigits];<br />
    }<br />
    elseif ($iTwoDigits &gt; 0)<br />
    {<br />
      $sThreeDigits .= $digits[$iTwoDigits / 10] . &#8220;zig&#8221;;<br />
    }</p>
<p>    $hundreds = floor($iThreeDigits / 100);<br />
    if ($hundreds &gt; 0)<br />
    {<br />
      $sThreeDigits = $digits[$hundreds] . &#8220;hundert&#8221; . $sThreeDigits;<br />
    }</p>
<p>    array_unshift($sSixDigits, $sThreeDigits);<br />
  }</p>
<p>  echo implode(&#8220;tausend&#8221;, $sSixDigits) . &#8220;\n&#8221;;<br />
}<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Rodney Rehm</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4756</link>
		<dc:creator>Rodney Rehm</dc:creator>
		<pubDate>Mon, 27 Dec 2010 11:18:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4756</guid>
		<description><![CDATA[Ich sehe das so wie Benjamin. Die meisten der eingereichten Lösungen haben (teilweise signifikante) Probleme. Mit dem enormen Speicherverbrauch meiner Lösungen schließe ich mich da gerne mit ein… 

Benjamin bekommt ein &lt;I&gt; (für Initiative). :)]]></description>
		<content:encoded><![CDATA[<p>Ich sehe das so wie Benjamin. Die meisten der eingereichten Lösungen haben (teilweise signifikante) Probleme. Mit dem enormen Speicherverbrauch meiner Lösungen schließe ich mich da gerne mit ein… </p>
<p>Benjamin bekommt ein <i> (für Initiative). <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </i></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Benjamin Zikarsky</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4755</link>
		<dc:creator>Benjamin Zikarsky</dc:creator>
		<pubDate>Mon, 27 Dec 2010 11:10:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4755</guid>
		<description><![CDATA[Ich denke, man könnte schon noch den einen oder anderen Absatz dazu schreiben. Evtl. auch auf &quot;falsche&quot; Aussagen des ursprünglichen Artikels eingehen, denn z.B. haben wir sehr wohl relativ große Laufzeit- und Speicher-Unterschiede, die von der Implementierung abhängen. Beispielsweise tauscht Rodneys &quot;globe&quot; Speicher gegen Geschwindigkeit ein, wenn er die Ergebnisse zwischenspeichert.
Das Thema taugt fast als Einstieg in ein paar PHP Performance-Eigenheiten im Micro-Optimierungsbereich, wie echo &quot;.&quot; vs &quot;,&quot;, bzw. das langsame String-Zusammenfügen, oder auch der langsame Array-Aufbau.

Ich habe mal testweise &quot;benjamin3&quot; als Funktion umgeformt (allerdings ohne Rekursion wie in &quot;benjamin&quot;), da geht der Löwenanteil an den Array-Aufbau verloren. Wenn man das herausnimmt, und beispielsweise als Funktionsparameter übergibt, wird die Geschichte signifikantt schneller.]]></description>
		<content:encoded><![CDATA[<p>Ich denke, man könnte schon noch den einen oder anderen Absatz dazu schreiben. Evtl. auch auf &#8220;falsche&#8221; Aussagen des ursprünglichen Artikels eingehen, denn z.B. haben wir sehr wohl relativ große Laufzeit- und Speicher-Unterschiede, die von der Implementierung abhängen. Beispielsweise tauscht Rodneys &#8220;globe&#8221; Speicher gegen Geschwindigkeit ein, wenn er die Ergebnisse zwischenspeichert.<br />
Das Thema taugt fast als Einstieg in ein paar PHP Performance-Eigenheiten im Micro-Optimierungsbereich, wie echo &#8220;.&#8221; vs &#8220;,&#8221;, bzw. das langsame String-Zusammenfügen, oder auch der langsame Array-Aufbau.</p>
<p>Ich habe mal testweise &#8220;benjamin3&#8243; als Funktion umgeformt (allerdings ohne Rekursion wie in &#8220;benjamin&#8221;), da geht der Löwenanteil an den Array-Aufbau verloren. Wenn man das herausnimmt, und beispielsweise als Funktionsparameter übergibt, wird die Geschichte signifikantt schneller.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Michael Kliewe</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4752</link>
		<dc:creator>Michael Kliewe</dc:creator>
		<pubDate>Mon, 27 Dec 2010 08:22:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4752</guid>
		<description><![CDATA[@Rodney: ich finde deine Analyse schon sehr gut und ausreichend, hatte nicht vor da noch was hinzuzufügen, ich versuche lieber neue Artikel zu schreiben wenn es die Zeit erlaubt ;-)]]></description>
		<content:encoded><![CDATA[<p>@Rodney: ich finde deine Analyse schon sehr gut und ausreichend, hatte nicht vor da noch was hinzuzufügen, ich versuche lieber neue Artikel zu schreiben wenn es die Zeit erlaubt <img src='http://www.phpgangsta.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Rodney Rehm</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4731</link>
		<dc:creator>Rodney Rehm</dc:creator>
		<pubDate>Sun, 26 Dec 2010 11:17:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4731</guid>
		<description><![CDATA[Die Auswerung wurde nun auch um Nicks Lösung ergänzt.

Michael: Werden die verschiedenen Lösungen noch irgendwie analysiert?]]></description>
		<content:encoded><![CDATA[<p>Die Auswerung wurde nun auch um Nicks Lösung ergänzt.</p>
<p>Michael: Werden die verschiedenen Lösungen noch irgendwie analysiert?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Nick</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4673</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Thu, 23 Dec 2010 10:51:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4673</guid>
		<description><![CDATA[Da bin ich ja noch richtig lang mit meinen 57 Zeilen und 23 Minuten o.O

http://pastebin.com/xaLU0Vck]]></description>
		<content:encoded><![CDATA[<p>Da bin ich ja noch richtig lang mit meinen 57 Zeilen und 23 Minuten o.O</p>
<p><a href="http://pastebin.com/xaLU0Vck" rel="nofollow">http://pastebin.com/xaLU0Vck</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Benjamin Zikarsky</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4641</link>
		<dc:creator>Benjamin Zikarsky</dc:creator>
		<pubDate>Wed, 22 Dec 2010 13:54:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4641</guid>
		<description><![CDATA[Eine letzte Variante:
https://github.com/bzikarsky/counting/blob/master/codes/benjamin3.php

Laut Rodneys Test die aktuell schnellste Implementierung, und relativ kurz gehalten.]]></description>
		<content:encoded><![CDATA[<p>Eine letzte Variante:<br />
<a href="https://github.com/bzikarsky/counting/blob/master/codes/benjamin3.php" rel="nofollow">https://github.com/bzikarsky/counting/blob/master/codes/benjamin3.php</a></p>
<p>Laut Rodneys Test die aktuell schnellste Implementierung, und relativ kurz gehalten.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Blubber</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4637</link>
		<dc:creator>Blubber</dc:creator>
		<pubDate>Wed, 22 Dec 2010 11:10:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4637</guid>
		<description><![CDATA[ich hab auch nochmal ein Fehler ausgebessert und den Code um 50% gekürzt:

https://gist.github.com/751394]]></description>
		<content:encoded><![CDATA[<p>ich hab auch nochmal ein Fehler ausgebessert und den Code um 50% gekürzt:</p>
<p><a href="https://gist.github.com/751394" rel="nofollow">https://gist.github.com/751394</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Benjamin Zikarsky</title>
		<link>http://www.phpgangsta.de/wettbewerb-10-000-zahlen-ausschreiben/comment-page-1#comment-4636</link>
		<dc:creator>Benjamin Zikarsky</dc:creator>
		<pubDate>Wed, 22 Dec 2010 11:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpgangsta.de/?p=1943#comment-4636</guid>
		<description><![CDATA[@Rodney: Wegen deines Hinweises bzgl split und explode. Das ist mir schon bewusst, aber split (5) hat weniger Buchstaben als explode (7).

Wobei man das erste split() durch ein array(0,0,2=&gt;&#039;zwan&#039;,3=&gt;&#039;dreißig&#039;) ersetzen kann, das ist genauso lang, und performanter.

Du scheinst mir aber ohnehin eine falsche (die initiale)  Version erwischt zu haben, die aktuelle ist noch ein paar Zeichen kürzer, und macht auch die Fehler nicht mehr.]]></description>
		<content:encoded><![CDATA[<p>@Rodney: Wegen deines Hinweises bzgl split und explode. Das ist mir schon bewusst, aber split (5) hat weniger Buchstaben als explode (7).</p>
<p>Wobei man das erste split() durch ein array(0,0,2=&gt;&#8217;zwan&#8217;,3=&gt;&#8217;dreißig&#8217;) ersetzen kann, das ist genauso lang, und performanter.</p>
<p>Du scheinst mir aber ohnehin eine falsche (die initiale)  Version erwischt zu haben, die aktuelle ist noch ein paar Zeichen kürzer, und macht auch die Fehler nicht mehr.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching using apc
Object Caching 719/721 objects using apc

 Served from: www.phpgangsta.de @ 2013-06-20 03:13:16 by W3 Total Cache -->