Em PHP existe o conceito de função e sub-programa.
Exemplificando antes de conceituar.
Digamos que exista um programa a.php com um segmento de código que vai ser executado várias vezes (sem interação com usuário - ou seja, sem que o usuário informe valor durente a execução do segmento). Podemos definir 'dentro' de a.php uma FUNÇÃO denominada x. E quando executamos o a.php a função x fica disponível para execução (só durante o tempo de execução de a.php. Agora existe um outro programa b.php que precisa executar a função x (que está 'dentro' de a.php).
Exitem dois modos de 'executar' x em b.php.
O primeiro modo: copiar o segmento de código que define x de a.php para um arquivo x.php. Referenciar x.php em b.php e a partir desta referencia x passa a estar 'disponível para execução' em b.php. Este primeiro modo chamamos de criar um SUB-PROGRAMA.
O segundo modo: referenciar a.php em b.php e a função x também fica pronta para b.php... Neste segundo modo pode acontecer um problema... SE a.php tiver interação com o usuário o programa b.php 'para a execução', o programa a.php se inicia enquanto o b.php 'fica parado'.
Bom nosso exemplo deve ser composto de duas partes:
Um programa principal e pelo meno um sub-programa