$ending) { return -1; } $length=$ending-$starting; if($length===0) { if($value===$A[$starting]) { return $starting; } return -1; } $mid=$starting+intval($length/2); if($value<$A[$mid]) { $ending=$mid-1; } else { if($value>$A[$mid]) { $starting=$mid+1; } else { return $mid; } } } while(false); } return -1; } $x=array(1,3,5,8,13,24,33,46,50,51,90,980); $value=0; print_r($x); echo "Donner une valeur a chercher:"; $fp=fopen("php://stdin","r"); $value=rtrim(fgets($fp,65536)); fclose($fp); $y=binarySearch(intval($value),$x); if($y>=0) { echo $value, " ", "se trouve en position", " ", $y, "\n"; } else { echo $value, " ", "ne figure pas dans le tableau...", "\n"; } ?>