I want a block to be visible in some view pages (which is easy) AND in some content types (which could be easy using PHP); but how could I do the two thing?
When you write PHP to determine the content type, check the URL also to see if it's a view and if it's a view you want to include, so add that logic to your PHP.
HTH
F