<?php
$ar1[] = array("id"=>1, "nick"=>"zostal","log"=>"zostal"); //poprzedni gracze $ar1[] = array("id"=>2, "nick"=>"odszedl","log"=>"odszedl"); $ar1[] = array("id"=>4, "nick"=>"odszedl2","log"=>"odszedl2"); $ar1[] = array("id"=>6, "nick"=>"zostal2","log"=>"zostal2"); //poprzedni gracze $ar2[] = array("id"=>1, "nick"=>"zostal","log"=>"zostal"); //obecni gracze $ar2[] = array("id"=>3, "nick"=>"doszedl","log"=>"doszedl"); $ar2[] = array("id"=>5, "nick"=>"doszedl2","log"=>"doszedl2"); $ar2[] = array("id"=>6, "nick"=>"zostal2","log"=>"zostal2"); //obecni gracze $ar2[] = array("id"=>9, "nick"=>"doszedl3","log"=>"doszed3");
for ($i=0; $i<count($ar1); $i++){
for($ii=0; $ii<count($ar2); $ii++){
if ($ar1[$i]['id'] == $ar2[$ii]['id']){
$pozostali[] = $ar2[$ii];
}
}
}
/////
for ($i=0; $i<count($ar1); $i++){
$che = false;
for($ii=0; $ii<count($ar2); $ii++){
if ($ar1[$i]['id'] == $ar2[$ii]['id']){
$che=true;
}
}
if (!$che){
$odeszli[] = $ar1[$i];
}
}
for ($i=0; $i<count($ar2); $i++){
$che = false;
for($ii=0; $ii<count($ar1); $ii++){
if ($ar2[$i]['id'] == $ar1[$ii]['id']){
$che=true;
}
}
if (!$che){
$doszli[] = $ar2[$i];
}
}
Mam już rozwiązanie, jednak nie jest ono zbyt optymalne. Ta operacja będzie wykonywana co
sekundę*liczba os. na stronie, a wielkość obu tablic będzie się wahać od 0 do 200 elementów
Tak więc zna ktoś inny sposób na rozwiązanie tego problemu?
Nawet policzyłem, to będzie 3.600.000 pętli for/min. Myślę, że jest to trochę za dużo dlatego proszę o porady jak to zoptymalizować