Jump to content

Find Match Between 2 Array's


drunkenMonkey

Recommended Posts

Hello,

 

I'm new to this forum, so if I posting this question at the wrong board, please move it to the correct place ::) .

 

I'm having a math problem on wich I have been breaking my head for a few days.

 

I want to write a PHP-script that can calculate the "smallest" match possible between 2 arrays. I just don't know how to get started. I'll give an example on what I'm looking for:

 

$array1 = array(10, 25, 37, 68, 73, 82);
$array2 = array(11, 26, 38, 69, 74, 83);

 

So let's calculate the possibilities off $array1:

 

1 x 10 = 10 (numbers used: 1)

2 x 10 = 20 (numbers used: 2)

1 x 25 = 25 (numbers used: 1)

3 x 10 = 30 (numbers used: 3)

1 x 10 + 1 x 25 = 35 (numbers used: 2)

1 x 37 = 37 (numbers used: 1)

4 x 10 = 40 (numbers used: 4)

2 x 10 + 1 x 25 = 45 (numbers used: 3)

1 x 10 + 1 x 37 = 47 (numbers used: 2)

5 x 10 = 50 (numbers used: 5)

2 x 25 = 50 (numbers used: 2)

3 x 10 + 1 x 25 = 55 (numbers used: 4)

2 x 10 + 1 x 37 = 57 (numbers used: 3)

6 x 10 = 60 (numbers used: 6)

1 x 25 + 1 x 37 = 62 (numbers used: 2)

4 x 10 + 1 x 25 = 65 (numbers used: 5)

3 x 10 + 1 x 37 = 67 (numbers used: 4)

1 x 68 = 68 (numbers used: 1)

7 x 10 = 70 (numbers used: 7)

...

 

Now calculate the possibilities off $array2:

 

1 x 11 = 11 (numbers used: 1)

2 x 11 = 22 (numbers used: 2)

1 x 26 = 26 (numbers used: 1)

3 x 11 = 33 (numbers used: 3)

1 x 11 + 1 x 26 = 37 (numbers used: 2)

STOP

 

As you can see we have a match on the number 37, wich is the smallest possible match between the 2 arrays. I want PHP to output the smallest possible match + for each row how you can get to that match.

 

Some facts that might make the programming easier:

  • both arrays will always have exact 6 numbers
  • the values in the arrays will always be sorted from low to high
  • the highest possible numbers that can be used is 150, so 150 x $array[5] is the highest possible value we can get

Can anyone help met getting started at this problem :confused: .

 

Thanks in advance!

Link to comment
Share on other sites

How does 10+73=83 fit into the problem?

 

[edit] And are you prepared for the 140,515,219,945,627,518,837,736,801 possible combinations to examine before returning failure?

 

Thanks for your reply :happy-04:

 

10+73=83 => This is indeed a possible answer, but I'm looking for the lowest possible match... wich in this case is 37.

 

are you prepared for the 140,515,219,945,627,518,837,736,801 possible combinations to examine before returning failure? => Are there really so many possible combinations :-\. Well I guess PHP will not be able to calculate all possibilites before trowing a memory exception, but I don't care about that.

 

In most cases a match will be found really fast, so I want the script to keep looking for a match until he finds the match or untill it trows an exception.

 

I don't want PHP to do any useless calculations so for each possibility calculated for array1 we need to look if there's a possible match in array2... if not we calculate the next value, and so on...

 

I guess the solution might be more complicated as I thought at first :'(

Link to comment
Share on other sites

It looks like you are trying to compare the values of each number combination in the arrays multiplied by different values. So, there isn't 140,515,219,945,627,518,837,736,801 possible combinations - the possible combinations is infinite. And, knowing how many combinations would need to be tested before finding a match would require some math that makes my head hurt.

 

The difficult part, from my perspective, would be in trying to develop the logic to know what the next highest combination would be since the numbers are dynamic. But, here is the logic I would use:

 

1. Create an index variable to count the number of iterations through the loop. Then use the variable to exit the loop at a set number of iterations when a match is not found. This will prevent you from getting stuck in an infinite loop or one that will cause a timeout issue.

 

2. Create a process to get the next highest combination from an array. This is the hard part.

 

3. In the loop, have the process continue as long as no match is found and the loop counter has not reached the maximum value.

 

4. Do a test between the current calculated value between array 1 and array 2. If they are equal, then set the value in a variable and exit the loop. If they are not equal then increment the value of the one that is less than the other. Repeat

Link to comment
Share on other sites

There's a kinda brute-force method on determining the next combination, which I agree with Psycho to be the hardest part, but I'm still thinking if there's a smarter alternative.

 

are you prepared for the 140,515,219,945,627,518,837,736,801 possible combinations to examine before returning failure? => Are there really so many possible combinations :-\. Well I guess PHP will not be able to calculate all possibilites before trowing a memory exception, but I don't care about that.

About that number: I calculated that assuming you can devise an expression in one array to match an expression in the other array. Not that it's one expression totaling a single number. Like

$array1 = array(2, ;
$array2 = array(3, 7, 20);

and 2+8=3+7 (4) is the best answer, as opposed to 2*2+8*2=20 (4 but higher). Otherwise it's just 151 ^ 6 = 11,853,911,588,401 combinations.

(151 because 0 is a valid multiplier - the term isn't in the equation)

 

Well I guess PHP will not be able to calculate all possibilites before trowing a memory exception, but I don't care about that.

1. It would be a fatal error, not a catchable exception. The script would die.

2. Written well there wouldn't be any memory problems - it would just take a really, really long time to stop.

 

It looks like you are trying to compare the values of each number combination in the arrays multiplied by different values. So, there isn't 140,515,219,945,627,518,837,736,801 possible combinations - the possible combinations is infinite.

There's a maximum of 150 on the multiplier.

Edited by requinix
Link to comment
Share on other sites

So, there isn't 140,515,219,945,627,518,837,736,801 possible combinations - the possible combinations is infinite.

 

Well, it's not infinite. As I stated in my first post the maximum multiplier is "150", so the largest possible match is 150 x $array1[5]

 

2. Create a process to get the next highest combination from an array. This is the hard part.

 

Yes, it's this process/function that I need... but I can't seem to find how to calculate the next combination.... I don't like a brute force aproach... but if this is the only way this can be achieved, so be it ::) .

Link to comment
Share on other sites

Well, I've made a script. At this moment it's brute force and it calculates all possible matches between the arrays (up to 4 arrays). However at max it can calculates matches for up to 20 hits (wich takes 20 seconds / array).

 

Any ideas on how I can make this script better and faster so it can calculates up to 50 hits or maybe 150 as stated in the first post?

 

<?php
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
ini_set("memory_limit","4096M");
set_time_limit(90);
$player[1] = isset($_POST["id1"]) ? floatval($_POST["id1"]) : 0;
$player[2] = isset($_POST["id2"]) ? floatval($_POST["id2"]) : 0;
$player[3] = isset($_POST["id3"]) ? floatval($_POST["id3"]) : 0;
$player[4] = isset($_POST["id4"]) ? floatval($_POST["id4"]) : 0;
$server = $_POST["server"];
$hits = floatval($_POST["hits"]);
function getPlayerInfo(&$id, &$server){
$string = file_get_contents('http://'.$server.'.e-sim.org/apiCitizenById.html?id='.$id);
$array = json_decode($string, true);
$ranksArray = json_decode(file_get_contents('http://e-sim.org/apiRanks.html'),true);
foreach ($ranksArray as $key => $val) {
   if ($val['name'] === $array['rank']) {
	   $array['modifier'] = floatval($val['damageModifier']);
   }
   }
return $array;
}
for ($i = 1; $i <=4; $i++){
if ($player[$i] > 0){
 $player[$i] = getPlayerInfo($player[$i],$server);
 $player[$i]['wepdamage'] = array(floor(0.5*$player[$i]['strength']*$player[$i]['modifier']),floor(1.2*$player[$i]['strength']*$player[$i]['modifier']),floor(1.4*$player[$i]['strength']*$player[$i]['modifier']),floor(1.6*$player[$i]['strength']*$player[$i]['modifier']),floor(1.8*$player[$i]['strength']*$player[$i]['modifier']),floor(2*$player[$i]['strength']*$player[$i]['modifier']));
} else {
 unset($player[$i]);
}
}
echo"<table><tr>";
foreach ($player as $key => $val){
echo"<td width='".(100/count($player))."%'>";
echo "<b>",$val['login'],"</b> | Strength: ",$val['strength']," | Rank: ",$val['rank'],"<br>";
echo "q0: ",$val['wepdamage'][0]," | q1: ",$val['wepdamage'][1]," | q2: ",$val['wepdamage'][2]," | q3: ",$val['wepdamage'][3]," | q4: ",$val['wepdamage'][4]," | q5: ",$val['wepdamage'][5];
echo "</td>";
flush();
}
echo"</tr><tr>";
function calculatePos(&$player,&$hits){
$pos = array();
$arr = array();
$arr1 = array();
$arr2 = array();
$arr3 = array();
$arr4 = array();
$arr5 = array();
$count = 0;
for ($j = 0; $j <=5; $j++){
 for ($i = 1; $i <= $hits; $i++){
  $arr[$j][$i] = $i * $player[$j];
  $pos[$i." x q".$j] = $i * $player[$j];
  $count++;  
 }
}
for ($j = 0; $j <=4; $j++){
 for ($i = 0; $i <= $hits; $i++){
  if ($i > 0){
   $q0 = $i." x q".$j." | ";
  } else {
   $q0 = "";
  }
  for ($k = $j+1; $k <=5; $k++){
   for ($l = 0; $l+$i <=$hits; $l++){
 if ($l > 0){
  $q1 = $l." x q".$k." | ";
 } else {
  $q1 = "";
 }
 $pos[$q0."".$q1] = $arr[$j][$i] + $arr[$k][$l];
 $count++;
 for ($m = $k+1; $m <=5; $m++){
  for ($n = 0; $n+$l+$i <=$hits; $n++){
   if ($n > 0){
    $q2 = $n." x q".$m." | ";
   } else {
    $q2 = "";
   }
   $pos[$q0."".$q1."".$q2] = $pos[$q0."".$q1] + $arr[$m][$n];
   $count++;
   for ($o = $m+1; $o <=5; $o++){
    for ($p = 0; $p+$n+$l+$i <=$hits; $p++){
	 if ($p > 0){
	  $q3 = $p." x q".$o." | ";
	 } else {
	  $q3 = "";
	 }
	 $pos[$q0."".$q1."".$q2."".$q3] = $pos[$q0."".$q1."".$q2] + $arr[$o][$p];
	 $count++;
	 for ($q = $o+1; $q <=5; $q++){
	  for ($r = 0; $r+$p+$n+$l+$i <=$hits; $r++){
	   if ($r > 0){
	    $q4 = $r." x q".$q." | ";
	   } else {
	    $q4 = "";
	   }
	   $pos[$q0."".$q1."".$q2."".$q3."".$q4] = $pos[$q0."".$q1."".$q2."".$q3] + $arr[$q][$r];
	   $count++;
	   for ($s = $q+1; $s <=5; $s++){
	    for ($t = 0; $t+$r+$p+$n+$l+$i <=$hits; $t++){
		 if ($t > 0){
		  $q5 = $t." x q".$s." | ";
		 } else {
		  $q5 = "";
		 }
		 $pos[$q0."".$q1."".$q2."".$q3."".$q4."".$q5] = $pos[$q0."".$q1."".$q2."".$q3."".$q4] + $arr[$s][$t];
		 $count++;
	    }
	   }
	  }
	 }
    }
   }
  }
 }
   }
  }
 }
}
//echo $count."<br>" ;
return $pos;
}
foreach ($player as $key => $val){
$pos[$key] = calculatePos($val['wepdamage'],$hits);
}
if (count($pos) > 0){
$result = $pos[1];
}
if (count($pos) > 1){
$result = array_intersect($pos[1], $pos[2]);
}
if (count($pos) > 2){
$result = array_intersect($result, $pos[3]);
}
if (count($pos) > 3){
$result = array_intersect($result, $pos[4]);
}
foreach ($pos as $key => $val){
$resultArray[$key] = array_intersect($val,$result);
asort($resultArray[$key]);
echo"<td valign='top'><pre>";
print_r($resultArray[$key]);
echo"</pre></td>";
}
echo"</tr></table>";
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "<br><br>This page was created in ",$totaltime," seconds";
?>

Link to comment
Share on other sites

I can't say anything for sure without some test data to profile it with, and I don't want to have to go chasing down the server name and/or player IDs...

 

One thing I did notice right away, except the ridiculous amount of nested loops, is that you've concatenated with empty strings. That's completely unnecessary, same as writing 1 + 2 like this: 0 + 1 + 0 + 2 + 0.

Link to comment
Share on other sites

Hey,

 

Thx for your reply. I'm concatenating empty strings because I don't know if they are empty or not. But I guess that could have been done better...

 

I'm happy to provide you some test-data:

 

server-name: secura

ID's: 3355 | 1759 | 5974 | 13593 | 4657 | 3727

 

If you need more test-data... just let me know ;D

Link to comment
Share on other sites

aaah... ok.

 

So I should change that into this I guess:

 

$pos[$q0.$q1.$q2.$q3]

 

Bingo! Don't feel too bad. I see people that do similar things a lot - especially when create a string concatenated from literal strings and variable - but if the value will end in a variable they always seem to tack on a . ""

 

$query = "SELECT * FROM table WHERE id = " . $id . "";

 

instead of just

$query = "SELECT * FROM table WHERE id = " . $id;

 

or my preference

$query = "SELECT * FROM table WHERE id = {$id}";

Link to comment
Share on other sites

It seems that most of the processing time goes to fetching the details from the remote server, with the time fluctuating with about ±0.5 seconds:

Function name        Calls    Call %    Own time    Total time    Time %
file_get_contents    8    8.24%    7.9249 s    7.9249 s    99.8%

 

The calculatePos function takes the second place, and the rest is inconsequential:

calculatePos    4    4.12%    10.367 ms    10.367 ms    0.13%

 

So the best thing you can do to speed up this process, is to reduce the number of calls to file_get_contents and perhaps cache the data on your end.

 

Also, you have quite a number of undefined offsets reported in your code, and I'm not sure the resulting array is quite what you expected:

 

 
Notice: Undefined index: hits in /media/raid/Dropbox/htdocs/array_match.php on line 20

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 119

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 119

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 119

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 119

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 0 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 110

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 1 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 101

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 2 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 92

Notice: Undefined offset: 3 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 4 in /media/raid/Dropbox/htdocs/array_match.php on line 83

Notice: Undefined offset: 5 in /media/raid/Dropbox/htdocs/array_match.php on line 83drunkenMonkey | Strength: 1100 | Rank: Brigadier General
q0: 1155 | q1: 2772 | q2: 3234 | q3: 3696 | q4: 4158 | q5: 4620    T11 | Strength: 1095 | Rank: Major
q0: 1095 | q1: 2628 | q2: 3066 | q3: 3504 | q4: 3942 | q5: 4380    along | Strength: 1090 | Rank: Colonel
q0: 1122 | q1: 2694 | q2: 3143 | q3: 3592 | q4: 4041 | q5: 4490    Ckt Five | Strength: 1090 | Rank: Major
q0: 1090 | q1: 2616 | q2: 3052 | q3: 3488 | q4: 3924 | q5: 4360
Array
(
   [] => 0
)    Array
(
   [] => 0
)    Array
(
   [] => 0
)    Array
(
   [] => 0
)



This page was created in 7.4440829753876 seconds

 

Edited by Christian F.
Link to comment
Share on other sites

Christian, thx for your post, it is very usefull. However I do not agree that most time gets into getting the data from the remote server. With a low number of hits, you are right, but if you increase the number of hits to 20 you'll see that most time will get in the calculatePos function wich actually can take up to 20 seconds for each call.... if we increase the number of hits even more to 25 or 30, the scripts times out...

 

However having another look at my code, I can reduce the number of calls to the remote server by getting the next line out of the function:

 

$ranksArray = json_decode(file_get_contents('http://e-sim.org/apiRanks.html'),true);

 

I do this call for every player, but the answer from the server is always the same. So I only need to do this call once!

Edited by drunkenMonkey
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.