Ich arbeite gerade an einem Projekt, und es erfordert, ein Array so anzuordnen, dass keine gleichen Zahlen hintereinander kommen.Anordnen von Zahlen in einem Array PHP
Lassen Sie $a = [4,1,2,1,3,4,4,4]
, hier kommen die Zahlen 4 nacheinander. Ich brauche, um das zu vermeiden und die gewünschte Ausgabe muss oder zu $a = [4,1,4,1,4,2,3,4]
simiar sein, was ich getan hatte:
$a=[4,1,2,1,3,4,4,4];
for($i=0;$i<count($a)-1;$i++)
{
if($a[$i]==$a[$i+1])
{
$k=$j=$i+1;
while($a[$j]==$a[$k])
{
$k++;
if($k >= count($a))
$k=0;
}
$temp=$a[$j];
$a[$j]=$a[$k];
$a[$k]=$temp;
}
}
var_dump($a);
Ausgänge:
array (size=8)
0 => int 4
1 => int 4
2 => int 2
3 => int 1
4 => int 3
5 => int 4
6 => int 1
7 => int 4
4 Hier kommt wieder nacheinander.
Gibt es einen einfachen Weg, dies zu erreichen? Bitte helfen Sie mir, diese Situation zu lösen.
Vielen Dank im Voraus.
ist es in Ihrer Frage ok „Let a $ = [4,1,2,1,3,4,4,4], hier die Zahlen nacheinander 4 kommen. Ich muss das vermeiden und die gewünschte Ausgabe muss oder ähnlich sein wie $ a = [4,1,4,1,4,2,3,4] " –
Warum finden Sie nicht zuerst Duplikate und betten verschiedene Elemente dazwischen ein ? –
@BrijalSavaliya Ich habe nicht verstanden, was Sie kommentiert. Dieses Array wird eingegeben und ich muss so arrangieren, dass keine gleichen Nummern nacheinander folgen. –