What are named arguments in PHP 8?
Jun 19, 2025 pm 06:05 PMNamed arguments in PHP 8 allow passing values to a function by specifying the parameter name instead of relying on parameter order. 1. They improve code readability by making function calls self-documenting, as seen in examples like resizeImage(width: 100, height: 50, preserveRatio: true, upscale: false); 2. They enable skipping optional parameters without placeholders, such as formatText(text: "Hello", underline: true); 3. They prevent bugs caused by incorrect parameter order, especially when parameters are of the same type. However, caveats include not being able to use variables as dynamic parameter names, not repeating parameter names, and reduced benefit with ambiguous parameter names like $a or $b. Additionally, once named arguments are used in a function call, all subsequent parameters must also be named, as in greet("Alice", greeting: "Hi") which is valid but greet(name: "Alice", "Hi") which is not. Overall, named arguments enhance clarity and reduce errors in function calls, particularly for functions with many optional parameters.
Named arguments in PHP 8 allow you to pass values to a function by specifying the parameter name, rather than relying solely on the order of the parameters. This feature makes your code more readable and less error-prone, especially when dealing with functions that have many optional parameters.
What are named arguments?
In simple terms, named arguments let you say "this value goes to this parameter" directly in the function call. For example:
function greet(string $name, string $greeting = "Hello") { echo "$greeting, $name!"; } greet(name: "Alice", greeting: "Hi");
Here, we're explicitly assigning "Alice"
to $name
and "Hi"
to $greeting
. Even if the order changes, like greet(greeting: "Hi", name: "Alice")
, it still works fine. That’s because the names are used instead of position.
This is especially handy when some parameters have default values — you can skip them or only specify what you need without worrying about leaving placeholders.
Why use named arguments?
There are a few practical reasons why you’d want to take advantage of this feature:
Clarity: When calling a function with multiple parameters, especially booleans or numbers, it's not always obvious what each value means. Named arguments make it self-documenting.
Example:
resizeImage(100, 50, true, false); // vs resizeImage(width: 100, height: 50, preserveRatio: true, upscale: false);
Skipping optional parameters: You don’t have to pass every optional parameter just to get to one further down the list.
Example:
function formatText(string $text, bool $bold = false, bool $italic = false, bool $underline = false) {} // Without named args, you'd do: formatText("Hello", false, false, true); // With named args, it's cleaner: formatText(text: "Hello", underline: true);
Avoiding bugs from wrong order: If two parameters are the same type (like two strings), it's easy to mix them up. Named arguments eliminate that confusion.
Things to watch out for
While named arguments are useful, there are a couple of gotchas:
- You can't use variables as parameter names dynamically — the names must be known at compile time.
- You can't repeat parameter names in the same function call.
- They work best with functions that have clear, descriptive parameter names. If the function uses short or ambiguous names like
$a
,$b
, the benefit is reduced.
Also, keep in mind that named arguments are not required — you can mix them with positional ones, but once you start using named arguments, all following parameters must also be named.
Example:
// This is okay greet("Alice", greeting: "Hi"); // This will cause an error greet(name: "Alice", "Hi");
Final thoughts
Named arguments in PHP 8 are a small but powerful improvement to how functions are called. They improve readability and reduce errors, especially in complex or long function calls.
It's not something that will change everything overnight, but once you start using it, you’ll probably find yourself reaching for it more often than not — especially when working with libraries or APIs that have lots of optional settings.
So yeah, basically that's it.
The above is the detailed content of What are named arguments in PHP 8?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

In PHP, named parameters allow specifying parameter names, which can be combined with pass-by-value and pass-by-reference. Passing by value copies the parameter value, and modifications within the function do not affect the original value. The copied parameter address is passed by reference, and the internal modification of the function directly changes the original value.

With the continuous development and upgrading of the PHP language, various new features and syntax have been introduced one after another, providing developers with more convenient and fast coding methods. Among them, the named parameters introduced in PHP8 are a very practical feature that can improve the readability of the code to a certain extent. What are named parameters? Before PHP8, when calling a function, we had to pass parameters in the order defined by the function. This encoding method had certain disadvantages, such as it was prone to errors when there were many parameters, and it was not clear to read. and naming

PHP8.0 is the latest version of the PHP programming language, which brings many major updates and improvements. One of the most notable changes is support for named parameters. In this article, we will discuss named parameters in PHP 8.0 and answer the question: Does PHP 8.0 support named parameters? What are named parameters? In a traditional function call, you pass parameters in the order they are in the function definition. For example, if you have a function definition like this: functionaddNumbers($a,$

Example of new features in PHP8: How to use named parameters and code refactoring? PHP8 is the latest version of the PHP programming language. This version introduces many new features and improvements, including named parameters and code refactoring. The introduction of these two functions greatly improves the clarity and readability of the code, allowing developers to write and maintain code more efficiently. In this article, we'll show you how to use these new features with some sample code. Named parameters are a mechanism that allows developers to pass parameters by parameter name when calling a function.

NamedargumentsinPHP8.0improvecodeclarityandflexibilitybyallowingdeveloperstospecifyparametersbynameratherthanposition.Thisfeatureenablesclearerfunctioncalls,especiallyforfunctionswithmultipleoptionalorsimilarlytypedparameters,asitmakestheintentexplic

Learn more about the new features of PHP8: How to use named parameters and codes to improve code maintainability? With the release of PHP8 comes many exciting new features and improvements. Among them, named parameters are a very powerful new feature that can help developers improve the readability and maintainability of their code. In addition, code attribute improvements also provide us with better code organization and reuse methods. This article will delve into these new features and demonstrate how to apply them in real projects. First, let us first understand the concept of named parameters

NamedargumentsinPHP8allowpassingvaluestoafunctionbyspecifyingtheparameternameinsteadofrelyingonparameterorder.1.Theyimprovecodereadabilitybymakingfunctioncallsself-documenting,asseeninexampleslikeresizeImage(width:100,height:50,preserveRatio:true,ups

ThestaticreturntypeinPHP8meansthemethodisexpectedtoreturnaninstanceoftheclassit'scalledon,includinganychildclass.1.Itenableslatestaticbinding,ensuringthereturnedvaluematchesthecallingclass'stype.2.Comparedtoself,whichalwaysreferstothedefiningclass,an
