Finally there is a DNS for for each domain that cranks out IP addresses for computers connected to that network. Such as customer.dell.com. And these computers are what we call servers?
Actually, a dns record only contains info about the relation between an ip and (domain)'name'. Its a bit like the phonebook, you knows a number and looks it up or knows a name and looks that up.
But this is rather irrelevant for toying around with php. All you need to know to begin with, is 127.0.0.1 equals to localhost, thus http://localhost/page.php refers to your locally webserver (apache most likely) and tries to get page.php.
With eg. XAMPP you get your webserver running at localhost, and here you can get to learn the language and toy around. No pay service is needed. If you later decide to obtain a domain of your own (to share experience or whatever), you probably would need a service provider for this.
For the period 'learning and getting familiar with the whole thing' you wouldnt need to pay anything. The schools webserver's probably fine, and my guess is the stuff there is accessible from the outside too.
Dont be afraid to ask, just dont ask if you may ask, just ask 😉
Edit:
Note to "james{A_T}lamie.net":
1. He has never heard of PHP.
2. He's not overall sure of the nets structure.
I say, he probably doesnt need a SMP machine with optimized config for 'Hello World's. Dont give him more headache by recommending him an OS (and at least not one which will require lots of setup). Please stay ontopic and help the dude with getting along with PHP. 🙂