The problem: Some html pages of php equivalents (apple.html, apple.php; orange.html, orange.php), but not all do (grapes.html).
The goal: If the php version exists,
you should be able to achieve that by using two conditions:
RewriteCond %{REQUEST_FILENAME} (.*)\.html$
RewriteCond %1\.php -f
RewriteRule ^(.*)\.html$ $1.php [R,L]
The first condition checks if the filename ended with .html and the second uses the back reference %1 from the first condition to check if .php version exists.
Hope it helps. :)