Hej,
Jag har trubbel med array och implode. $taskString nedan får med alla tecken i $taskArray men i fel ordning. Jag har koden:
if ($_POST['oppnaUtsagor']) {
do { $pos = mt_rand(1,3); } while ($pos == 2);
$taskArray[$pos] = $row['operator'];
if ($pos == 1)
$taskArray[3] = "=";
else
$taskArray[1] = "=";
do { $pos = mt_rand(0,4); } while (($pos == 1) || ($pos == 3));
$taskArray[$pos] = "_";
if ($pos == 0) {
$taskArray[2] = $rand1;
$taskArray[4] = $rand2;
}
if ($pos == 2) {
$taskArray[0] = $rand1;
$taskArray[4] = $rand2;
}
if ($pos == 4) {
$taskArray[0] = $rand1;
$taskArray[2] = $rand2;
}
}
else {
$taskArray = array($rand1, $row['operator'], $rand2, "=", "_");
}
print $taskArray[0].$taskArray[1].$taskArray[2].$taskArray[3].$taskArray[4]."<br><br>";
$p0 = $taskArray[0];
$p1 = $taskArray[1];
$p2 = $taskArray[2];
$p3 = $taskArray[3];
$p4 = $taskArray[4];
$taskArray = array($p0, $p1, $p2, $p3, $p4);
$taskString = implode(" ", $taskArray);
När jag gör, enligt koden ovan,
print
$taskArray[0].$taskArray[1].$taskArray[2].$taskArray[3].$taskArray[4]."<br><br>";
så ligger värdena där de ska. $taskArray skapas väl som en array per automatik när jag tilldelar värden? Om jag lägger in $taskArray = array(); före if-satsen så hjälper det inte. När jag la in
$p0 = $taskArray[0];
$p1 = $taskArray[1];
$p2 = $taskArray[2];
$p3 = $taskArray[3];
$p4 = $taskArray[4];
$taskArray = array($p0, $p1, $p2, $p3, $p4);
så funkar det. Men jag kan inte begripa varför det behövs???