(this was going to be a comment in response to @marwan s comment "My project is android app that contains a large database, so if I want to use the server do I need to use php? And php is only used for websites, so what I can use for android app?", but ran out of characters)
@Marwan you could directly connect your android app to to a database, though this isn't recommended, Why don't connect android to database directly? , There are many reasons not to, security being a major one. Php is used for web services which may or may not be presented as human readable web pages. Many web services are used to create output which is meant to be consumed by other programs. An android app would use one of these services, Like a RESTful api (http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/240169069) to retrieve data from or database or offload processing from the client (android app) to the server.
There are more languages and more servers that could be used other than just php and apache, but this is a very common setup (my personal favorite).
If you'd like to learn about apache and and php I suggest setting up a LAMP server over a WAMP server, the software is open source and therefore makes a great learning tool (https://www.atlantic.net/blog/why-startups-prefer-lamp-to-wamp/). If you don't have a linux machine you could run a LAMP stack on a VM, https://www.virtualbox.org/, https://www.vmware.com/products/player, possibly even a rasberry pi https://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/blog/2014/02/24/raspberry-pi-as-a-lamp-server/. There's plenty of how-to's out there for intalling a LAMP stack on linux (https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04, unbuntu 14.04).
Php is pretty well documented with plenty of tutorials, and lots of Q&A on SO.
http://php.net/manual/en/index.php
http://php.net/manual/en/tutorial.php
http://www.w3schools.com/php/
https://stackoverflow.com/questions/tagged/php