GNU tar has a -T or –files-from option that can take a file containing a list of files to include. The file specified with this option can be “-” for stdin. So, you can pass an arbitrary list of files for tar to archive from stdin using -files-from –. Using find patterns to generate a list of files, your example becomes:
find . -name '*.php' -print0 | tar -cvjf my.tar.bz2 --null --files-from -