PCA is commonly used on binary data (e.g. one-hot encoded data) that does not mean it is a good thing, or it will work very well.
PCA can be implemented for continuous variables. It tries to minimize variance (=squared deviations). The concept of squared deviations breaks down when you have binary variables.
You can use PCA. You get an output. It even is a least-squared output - it's not as if PCA would segfault on such data. It works, but it is just much less meaningful than you'd want it to be, and supposedly less meaningful than e.g. frequent pattern mining.
Hope this answer helps you! For more details on this, study PCA.