PHP ver gevorderde | 
                 | 
                
				
				Hallo, 
Ik was voor de fun ff wat figuren met elkaar aan het vergelijken in php, en heb juist iets vreemd ontdekt. 
Ik heb 2 figuren aangemaakt, test3.dib en test4.dib 
test3.dib : 1px x 1 px zwart 
test4.dib : 2px x 1 px ook helemaal zwart 
 
Dit is mijn php-code: 
    
    
        
            
                <?php
$img1 = file_get_contents("test3.dib");
$img2 = file_get_contents("test4.dib");
if($img1 == $img2)
{
	echo("Gelijk!<br>\n");
}
else
{
	echo("Niet gelijk!<br>\n");
}
$len1 = strlen($img1);
$len2 = strlen($img2);
if($len1 === $len2)
{
	echo("Gelijk!<br>\n");
}
else
{
	echo("Niet gelijk!<br>\n");
}
$var1 = array();
for($i = 0; $i < $img1; $i++)
{
	if($img1[$i] === $img2[$i])
	{
		$var1[] = $img1[$i];
	}
	else
	{
		exit();
	}
}
$img1a = substr($img1, strlen($img1), 0 - count($var1));
$img2a = substr($img2, strlen($img2), 0 - count($var1));
echo($img1a.": ".strlen($img1a)."<br>\n".$img2a.": ".strlen($img2a)."<br>\n");
$var2 = array();
for($i = 0; $i < $img1; $i++)
{
	if($img1[$i] === $img2[$i])
	{
		$var2[] = $img2[$i];
	}
	else
	{
		exit();
	}
}
$img1b = substr($img1, strlen($img1), 0 - count($var2));
$img2b = substr($img2, strlen($img2), 0 - count($var2));
echo($img1b.": ".strlen($img1b)."<br>\n".$img2b.": ".strlen($img2b)."<br>\n");
?>
             
            <?php   if($img1 == $img2) { } else { 	echo("Niet gelijk!<br>\n"); }     if($len1 === $len2) { } else { 	echo("Niet gelijk!<br>\n"); }     for($i = 0; $i < $img1; $i++) { 	if($img1[$i] === $img2[$i]) 	{ 		$var1[] = $img1[$i]; 	} 	else 	{ 	} }         for($i = 0; $i < $img1; $i++) { 	if($img1[$i] === $img2[$i]) 	{ 		$var2[] = $img2[$i]; 	} 	else 	{ 	} }     ?> 
 
  
         
          
     
  
 
De output: 
 
Citaat: Niet gelijk! 
Gelijk! 
: 0 
: 0 
: 0 
: 0  
 
Dus ff verklaring vd output: 
- Controleren of de 2 figuren gelijk zijn: Niet gelijk 
- Controleren of de lengte van de 2 figuren gelijk zijn: Gelijk 
De volgende 4 verwijderen dezelfde tekens op dezelfde plaats, toont daarna de resterende string vanaf het punt dat een teken niet gelijk was, en na de dubbelpunt de lengte ervan: 4x lengte 0 
 
Snapt iemand dit??? 
 
edit op lijnen 40 en 41 (en 59 en 60) neem ik als lengte-parameter het negatieve van het aantal waardes in de arrays, zodat hij langs achter begint met substr 
 
edit2 ik denk dat niemand het snapt, de conclusie hiervan is, is dat die 2 figuren niet gelijk zijn, php zegt dat ook, maar ze hebben dezelfde lengte (qua tekstwaarde) en ze hebben geen verschil (ook qua tekstwaarde), maar tòch zijn ze verschillend				
				 |