{"id":71,"date":"2021-03-08T00:11:58","date_gmt":"2021-03-08T00:11:58","guid":{"rendered":"https:\/\/phptutorial.net\/?page_id=71"},"modified":"2025-04-06T02:04:08","modified_gmt":"2025-04-06T02:04:08","slug":"php-functions","status":"publish","type":"page","link":"https:\/\/www.phptutorial.net\/php-tutorial\/php-functions\/","title":{"rendered":"PHP Functions"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you will learn about PHP functions and how to define user-defined functions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='what-is-a-function'>What is a function <a href=\"#what-is-a-function\" class=\"anchor\" id=\"what-is-a-function\" title=\"Anchor for What is a function\">#<\/a><\/h2>\n\n\n\n<p>A function is a named block of code that performs a specific task.<\/p>\n\n\n\n<p>So far, you have learned how to use built-in functions in PHP, such as <code><a href=\"https:\/\/phptutorial.net\/php-tutorial\/php-var_dump\/\">var_dump()<\/a><\/code> that dumps information about a variable.<\/p>\n\n\n\n<p>In this tutorial, you&#8217;ll learn how to define your functions. These functions are called user-defined functions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='why-do-you-need-functions-in-the-first-place'>Why do you need functions in the first place? <a href=\"#why-do-you-need-functions-in-the-first-place\" class=\"anchor\" id=\"why-do-you-need-functions-in-the-first-place\" title=\"Anchor for Why do you need functions in the first place?\">#<\/a><\/h2>\n\n\n\n<p>Sometimes, you need to perform the same task multiple times in a script. For example, suppose that you want to show a message that welcomes a user like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome!'<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmVjaG8gJ1dlbGNvbWUhJzs\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<p>If you want to show the same message in other places, copy and paste the above statement in many places.<\/p>\n\n\n\n<p>But when you want to change the message from <code>Welcome!<\/code> to <code>Welcome Back<\/code>! you need to change it in various places. It&#8217;ll make the code very difficult to maintain.<\/p>\n\n\n\n<p>This is where functions come into play. A function allows you to assign a name to a code block and reuse that code block in multiple places without duplicating the code.<\/p>\n\n\n\n<p>To define and call a user-defined function, you use the following steps:<\/p>\n\n\n\n<p>First, define a function called <code>welcome()<\/code> like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome<\/span><span class=\"hljs-params\">()<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome!'<\/span>;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Then, call the <code>welcome()<\/code> function in any place where you want to show the welcome message:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome<\/span><span class=\"hljs-params\">()<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome!'<\/span>;\n}\n\nwelcome();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmZ1bmN0aW9uIHdlbGNvbWUoKQp7CgllY2hvICdXZWxjb21lISc7Cn0KCndlbGNvbWUoKTs\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<p>Later, if you want a different message, you can change it centrally in the <code>welcome()<\/code> function instead of in multiple places.<\/p>\n\n\n\n<p>Using a function, you can reuse a code block and make your script easier to maintain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='define-a-function'>Define a function <a href=\"#define-a-function\" class=\"anchor\" id=\"define-a-function\" title=\"Anchor for Define a function\">#<\/a><\/h2>\n\n\n\n<p>To define a function, you use the following syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">function_name<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\n    statement;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In this syntax:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, specify the function name followed by the <code>function<\/code> keyword. The function&#8217;s name must start with a letter or underscore followed by zero or more letters, underscores, and digits.<\/li>\n\n\n\n<li>Second, define one or more statements inside the function body. The function body starts with the <code>{<\/code> and ends with <code>}<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>Like the above example, you can define a function called <code>welcome()<\/code> as follows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome<\/span><span class=\"hljs-params\">()<\/span> \n<\/span>{  \n    <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome'<\/span>;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In this example, the function name is <code>welcome<\/code>. The <code>welcome()<\/code> function displays the welcome message.<\/p>\n\n\n\n<p>The <code>welcome()<\/code> function doesn&#8217;t have input. It shows the welcome message.<\/p>\n\n\n\n<p>In practice, functions often accept inputs, which make them reusable and more useful. These inputs are called <strong>parameters<\/strong>.<\/p>\n\n\n\n<p>A function may have zero or more parameters. To add one or more parameters to a function, you can use the following syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">function_name<\/span><span class=\"hljs-params\">(parameter1, parameter2, ...)<\/span> <\/span>{\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Inside the function body, you can use the parameters like <a href=\"https:\/\/phptutorial.net\/php-tutorial\/php-variables\/\">variables<\/a>. Parameters are the <a href=\"https:\/\/phptutorial.net\/php-tutorial\/php-variable-scopes\/\">local variables<\/a>.<\/p>\n\n\n\n<p>For example, if you want to welcome users by their usernames, you can add a <code>$username<\/code> parameter to the <code>welcome<\/code> function as follows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome '<\/span> . $username;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The <code>welcome_user()<\/code> function has a parameter <code>$username<\/code>. It displays a welcome message to the user by concatenating the <code>Welcome<\/code> message with <code>$username<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='call-a-function'>Call a function <a href=\"#call-a-function\" class=\"anchor\" id=\"call-a-function\" title=\"Anchor for Call a function\">#<\/a><\/h2>\n\n\n\n<p>When a function doesn&#8217;t have any parameter, you can call the function by using its name followed by parentheses like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\nfunction_name();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome<\/span><span class=\"hljs-params\">()<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome!'<\/span>;\n}\n\nwelcome();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmZ1bmN0aW9uIHdlbGNvbWUoKQp7CgllY2hvICdXZWxjb21lISc7Cn0KCndlbGNvbWUoKTs\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<p>The <code>welcome()<\/code> function shows the following message:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Welcome!<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>And when you call the function with parameters, you need to pass <strong>arguments<\/strong> into it:<\/p>\n\n\n\n<p>The following example calls the <code>welcome_user()<\/code> function:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome '<\/span> . $username;\n}\nwelcome_user(<span class=\"hljs-string\">'Admin'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmZ1bmN0aW9uIHdlbGNvbWVfdXNlcigkdXNlcm5hbWUpCnsKCWVjaG8gJ1dlbGNvbWUgJyAuICR1c2VybmFtZTsKfQoKd2VsY29tZV91c2VyKCdBZG1pbicpOw\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<p>In this example, we passed the <code>'Admin'<\/code> argument to the <code>welcome_user()<\/code> function. The function displays the following message:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Welcome Admin!<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Inside the <code>welcome_user()<\/code> function, the value of the <code>$username<\/code> is <code>'Admin<\/code>&#8216;.<\/p>\n\n\n\n<p>If you pass another argument into the function, the message will change. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome '<\/span> . $username;\n}\n\nwelcome_user(<span class=\"hljs-string\">'Guest'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmZ1bmN0aW9uIHdlbGNvbWVfdXNlcigkdXNlcm5hbWUpCnsKCWVjaG8gJ1dlbGNvbWUgJyAuICR1c2VybmFtZTsKfQoKd2VsY29tZV91c2VyKCdHdWVzdCcpOw\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Welcome Guest!<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='parameters-vs-arguments'>Parameters vs. arguments <a href=\"#parameters-vs-arguments\" class=\"anchor\" id=\"parameters-vs-arguments\" title=\"Anchor for Parameters vs. arguments\">#<\/a><\/h2>\n\n\n\n<p>The terms parameters and arguments are often used interchangeably. However, they&#8217;re slightly different.<\/p>\n\n\n\n<p>When you define a function that accepts inputs, you specify the parameters. In this example, <code>$username<\/code> is a function parameter:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome '<\/span> . $username . <span class=\"hljs-string\">'!'<\/span>;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>An argument is a piece of data that you pass into the function when you call it. In the following function call, the literal string <code>'Admin'<\/code> is an argument:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span>\n<\/span>{\n\t<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Welcome '<\/span> . $username . <span class=\"hljs-string\">'!'<\/span>;\n}\n\nwelcome_user(<span class=\"hljs-string\">'Admin'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><a href=\"https:\/\/phptutorial.net\/playground\/?q=PD9waHAKCmZ1bmN0aW9uIHdlbGNvbWVfdXNlcigkdXNlcm5hbWUpCnsKCWVjaG8gJ1dlbGNvbWUgJyAuICR1c2VybmFtZSAuICchJzsKfQoKd2VsY29tZV91c2VyKCdBZG1pbicpOw\" target=\"_blank\" rel=\"noreferrer noopener\">Try it<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='return-a-value'>Return a value <a href=\"#return-a-value\" class=\"anchor\" id=\"return-a-value\" title=\"Anchor for Return a value\">#<\/a><\/h2>\n\n\n\n<p>A function can return a value. To return a value from a function, you use the <code>return<\/code> statement:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">return<\/span> value;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The <code>return<\/code> statement immediately ends the execution of the current function and returns the value.<\/p>\n\n\n\n<p>The value can be a literal value like a number and a string. Also, it can be a variable or an expression.<\/p>\n\n\n\n<p>The following function returns a welcome message instead of displaying it:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span> \n<\/span>{ \n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">'Welcome '<\/span>. $username . <span class=\"hljs-string\">'!'<\/span>;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Since the <code>welcome_user()<\/code> function returns a string, you can assign its return value to a variable like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$welcome_message = welcome_user(<span class=\"hljs-string\">'Admin'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Or you can display it:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> welcome_user(); <span class=\"hljs-meta\">?&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Here&#8217;s the complete code:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span> \n<\/span>{ \n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">'Welcome '<\/span>. $username . <span class=\"hljs-string\">'!'<\/span>;\n}\n\n$welcome_message = welcome_user(<span class=\"hljs-string\">'Admin'<\/span>);\n\n<span class=\"hljs-keyword\">echo<\/span> $welcome_message;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='html-code-inside-the-function'>HTML code inside the function <a href=\"#html-code-inside-the-function\" class=\"anchor\" id=\"html-code-inside-the-function\" title=\"Anchor for HTML code inside the function\">#<\/a><\/h2>\n\n\n\n<p>Typically, a function contains only PHP code. However, it&#8217;s possible to define a function that contains HTML code. The following <code>welcome()<\/code> function displays the welcome message wrapped in a <code>span<\/code> tag:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">welcome_user<\/span><span class=\"hljs-params\">($username)<\/span> <\/span>{ <span class=\"hljs-meta\">?&gt;<\/span>\n\t&lt;span&gt;Welcome <span class=\"hljs-meta\">&lt;?<\/span>= $username <span class=\"hljs-meta\">?&gt;<\/span>&lt;\/span&gt;\n<span class=\"hljs-meta\">&lt;?php<\/span> } <span class=\"hljs-meta\">?&gt;<\/span>\t<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='summary'>Summary <a href=\"#summary\" class=\"anchor\" id=\"summary\" title=\"Anchor for Summary\">#<\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A function is a named block of code that performs a specific task.<\/li>\n\n\n\n<li>Do use functions to create reusable code.<\/li>\n\n\n\n<li>Use the <code>return<\/code> statement to return a value from a function.<\/li>\n<\/ul>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Did you find this tutorial useful?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"71\"\n\t\t\t\tdata-post-url=\"https:\/\/www.phptutorial.net\/php-tutorial\/php-functions\/\"\n\t\t\t\tdata-post-title=\"PHP Functions\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"71\"\n\t\t\t\tdata-post-url=\"https:\/\/www.phptutorial.net\/php-tutorial\/php-functions\/\"\n\t\t\t\tdata-post-title=\"PHP Functions\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you will learn about PHP functions and how to define user-defined functions.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":15,"menu_order":33,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-71","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/pages\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":5,"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/pages\/71\/revisions"}],"predecessor-version":[{"id":3014,"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/pages\/71\/revisions\/3014"}],"up":[{"embeddable":true,"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/pages\/15"}],"wp:attachment":[{"href":"https:\/\/www.phptutorial.net\/wp-json\/wp\/v2\/media?parent=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}