Generally where you put your javascript includes is up to you but the bulk of includes usually go before the closing body tag (because it helps the page to load faster). However it is common with sites built on wordpress and other platforms that you see a lot of JS includes at the top.
It all depends on how you design your web system.
Now... the problem you might find if your functions are in the footer is that if you try to call them before they've been defined, then the JS will throw an error. So ideally you don't want to use things like <a id="btn" onclick="foo()"> within your HTML but instead have this in JS:
$('a#btn').click(foo);
For basic sites you can probably get away with a single script file.
<script src="/js/jquery.x.x.min.js"></script> <!-- jquery lib -->
<script src="/js/scripts.js"></script> <!-- your custom scripts -->
</body>
</html>
Separation of Concerns
It's deemed best practice to keep your code separated where possible. So all JavaScript code should be in .js files, much like how inline CSS is frowned upon and should be in .css files. This keeps your code clean and easier to manage.
<script src="jquery.js"></script>, that's all you do. jQuery is clientside, while php is serverside. So there is nothing to take care of.jquery.jsand then include them within a script tag, would that script tag be in myhtmlheader?