Bug #14727: implode() does not implode in order
| From: | erathlink5 at lycos dot com | Date: | Fri, 28 Dec 2001 00:10:46 +0000 |
| Subject: | Bug #14727: implode() does not implode in order | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-75153@lists.php.net to get a copy of this message | ||
From: erathlink5@lycos.com
Operating system: win 98
PHP version: 4.0.6
PHP Bug Type: Arrays related
Bug description: implode() does not implode in order
in multiple array $cards, implode("-",$cards["num"]) differs from
concatenated string $cards["num"][...order...]
<?php
/* Ý÷ïõìå áðü ôçí êáëïýóá óõíÜñôçóç ôéò ìåôáâëçôÝò $game,
$player */
function tria(&$cards){
echo "In order: " ;
for ($i=1;$i<=24;$i++){
echo $cards["num"][$i]."-";
}
echo "<BR>imploded: ";
$periexomeno=implode("-",$cards["num"]);
$aneinai20=implode("-",$cards["d20"]);
echo $periexomeno."<BR>";
}
//-----------------------------------------
function sorthim($poion,&$cards){
$t=0;
$kartesoldexei=array(1=>1);
for ($i=1;$i<=24;$i++){
if ((($cards["PiT"][$i])< (8 + ($poion - 1) *
10)) and (($cards["PiT"][$i])>(($poion - 1) * 10))) {
$t++;
$kartesoldpoia[$t]=$i;
$kartesoldpou[$t]=$cards["PiT"][$i];
$kartesoldexei[$t]=$cards["num"][$i];
} //if end
} // for end
sort ($kartesoldexei);
for ($i=1;$i<=$t;$i++){
$cards["num"][$kartesoldpoia[$i]]=$kartesoldexei[$i-1];
$cards["PiT"][$kartesoldpoia[$i]]=$kartesoldpou[$i];
}
}
//-------------------------------------END OF
FUNCTIONS---------------------------------------
$palia=array(1=>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24);
$cards= array ("num"=>array(1=>1)
,"PiP"=>array(1=>1)
,"PiT"=>array(1=>1),
"d20"=>array(1=>"N")
,"d40"=>array(1=>"N")
,"nine"=>array(1=>"N")
,"can"=>array(1=>"N")
);
for ($i=24;$i;$i--){
$randval=1;
if ($i<>1){
mt_srand ((double) microtime() * 1000000);
$randval = mt_rand(1,$i) ;
}
$cards["num"][$i]=$palia[$randval];
if ($i<>$randval)
$palia[$randval]=$palia[$i];
} //Ôþñá õðÜñ÷ïõí ïé êÜñôåò
áíáêáôåìÝíåò
for ($i=1;$i<=24;$i++){
$cards["PiP"][$i]=$i;
$cards["PiT"][$i]=18;
$cards["d20"][$i]="N";
$cards["d40"][$i]="N";
$cards["nine"][$i]="N";
$cards["can"][$i]="N";
}
mt_srand ((double) microtime() * 1000000);
$randval = mt_rand(0,1) ;
for ($i=1;$i<=6;$i++){
$cards["PiT"][$i]=$i;
$cards["PiT"][$i+6]=10+$i;
}
$cards["PiT"][13]=8;
$x=tria($cards); //print sample
$poion=1;
sorthim ($poion,$cards);
$poion=2;
sorthim ($poion,$cards);
$x=tria($cards); //print sample
?>
--
Edit bug report at: http://bugs.php.net/?id=14727&edit=1