Don't know exactely what you are trying to do, but if you have Visual Basic writing a program that communicates with the Arduino is pretty simple. And as for using php, you could use MS Winsock in VB and fsockopen() in php to communicate between Visual Basic program and php.
Perhaps not what you are looking for, but I find it works quite well. I can for example use my Arduino read sensors at home (ultrasound, simple on/off switches on doors) and use the VB program to monitor inputs and log whenever something happens. Whenever someone enters your webside (which can be hosted remotely, because of the TCP/IP-connection used to get data from the VB-program), the php-script connects to your server running VB+Arduino and fetches info like logs for doors, movement inside your room/apartment, whatever.
If you make a php-script that connects to the Arduino directly, that's cool, but you loose real-time monitoring of what is happening on your inputs. Unless you are planning on making a php-daemon, you will only be able to read the inputs of the Arduino at the moment the webpage (php-script) is loaded.
Another pretty cool thing one could implement is scheduling. Perhaps I want my lights to turn off at 08:30 when i am sure I am at work, and turn back on at 16:00 right before I get home. Using VB (or other compilable programming language) as a backend, and a php-driven website as a front-end, you could use the website to create schedules for your backend program.
Ok, probably a pretty sucky reply but it's 18:30 in the evening, I've been at work for almost 10 hours and it looks like I'll be here for another couple of hours.