Do you want to list all php files, which contain the string standard? If so, I would use grep -r:
grep -r -l 'standard' . | grep '\.php$'
As stated in my comment to your question, there is no script name, because you are not executing a script file. Assuming you want to print the filename which is passed to xargs/perl, use $ARGV[0] to get the first positional parameter to the perl invocation (xargs automatically appends it to the command line).See TLP's answer instead
You should also use find -print0 | xargs -0 to handle files with newlines correctly.
Extending the grep snippet: It's also possible to use grep inside a new shell, after filtering with find:
find . -name '*.php' -print0 | \
xargs -0 -L1 sh -c 'grep -l "pattern" "$1"' -
xarsg -L1 to only pass a single file name at once to the new shell. grep -l "$1" to print the file name and stop grepping after the first match. - as first parameter to sh is necessary so that $1 will work.
Another edit …
I was thinking way to complicated. The last command can easily be simplified to:
find . -name '*.php' -print0 | xargs -0 grep -l "pattern"
This of course is not as easily extendable as the sh -c version, which can pretty much do anything.