The mixed type in PHP 8 is a new built-in union type. Mixed type is equivalent to array|bool|callable|int|float. Mixing the type is not quite similar to omitting the type completely.That means, the programmer just forgot to write it.Sometimes the programmer prefers to omit some specific type to keep the compatibility with an older version.Mixed type in PHP 8 can take any type of property/return/parameter. We can say that it includes null, callable, resource, all class objects, or all scalar types in PHP. The mixed type is equivalent to the Union type.int|float|bool|string|null|array|object|callable|resourceExample: Mixed Type in PHP 8In PHP 8, Mixed is ... Read More
In PHP 8, Constructor Property Promotion is added. It helps to reduce a lot of boilerplate code while constructing simple objects. This feature allows us to combine class fields, constructor definition, and variable assignments, all in one syntax, into the constructor parameter list.We can say that instead of specifying class properties and a constructor, we can combine all of them using constructor property promotion.Example 1: PHP 7 CodeExample 2: PHP 8 codeWe can re-write the above PHP 7 code in PHP 8 as follows −Output10.9 20 30.8In the above code, we combined property definition and population inline in the constructor ... Read More
In PHP 8, a new Stringable Interface (__toSting) is added. This method starts with the double underscore (__). The __toString method allows getting an object represented as a string. When a class defines a method using __toString, then it will call an object whenever it needs to treat as a string.Example: Stringable Interface using __toString Live DemoOutputEmployee NameIn PHP 8, the Stringable interface makes it easy to pass strings. A Stringable interface adds automatically once a class implements the __toString method. It does not require implementing the interface explicitly. The Stringable interface can be helpful for type hinting whenever strict types ... Read More
In the earlier versions of PHP, if we wanted to get the type of a variable, we used to employ the gettype() function. This function returns the type of a variable in the custom of a string. It returns all possible values like integer, string, array, boolean, double, resource, NULL, unknown type, etc.However, there were issues in the gettype function. It does not return native and familiar type names. It returns double instead of float and integer instead of int, and so on.To overcome this problem, PHP 8 uses the get_debug_type function.get_debug_type() functionIn PHP 8, the get_debug_type function returns the ... Read More
In PHP 8, fdiv() function is used to perform floating-point division on IEEE 754 standard. fdiv() is a mathematical operation that divides two numbers and returns a floating-point number.The fdiv() function works similar to the intdiv() and fmod() function, which allows division by zero. Instead of showing an error, the fdiv() function returns INF, -INF or NAN, when a number is divided by zero.INF (Infinity or real number) – It is the result of a numerical calculation that is mathematically infinite.-INF (Negative Infinite) – it is a negative infinite number or a number below -1.796E308.NAN (Not a Number) – it ... Read More
The resource is a type of variable that holds a reference to an external resource. The resource can be a filehandle, a database connection, or a URL handle. Every resource is identified by a unique id. In the previous versions of PHP, we needed to cast a resource to int to get the resource id.Example: get_recource_id using int.Output1In PHP 8, the get_resource_id() function always returns an int. It is used to get the ID for a given resource. This function always guarantees type safety.Example: Using get_recource_id in PHP 8.Output1
PHP 8 uses a new built-in exception ValueError. PHP throws this exception when we pass a value to a function, which has a valid type but cannot be used for operation. In the earlier versions of PHP, we used to get a Warning error in such cases, but PHP 8 will show a ValueError.Example: ValueError in PHP 8OutputFatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be emptyExample Live DemoOutputbool(false)Example: ValueError in PHP 8OutputFatal error: Uncaught ValueError: array_rand(): Argument #1 ($array) cannot be empty
In the previous versions of PHP, if we wanted to catch an exception, then we needed it to store in a variable to check whether that variable is used or not.Before PHP 8, to handle the exception catch block, we needed to catch the exception (thrown by the try block) to a variable.Example: Capturing Exception Catches in PHPExplanation − In the above program, the exception is being caught by the catch block to a variable $e. Now the $e variable can hold any information about the exception as code, message, etc.PHP 8 introduced non-capturing catches. Now, it is possible to ... Read More
str_starts_with and str_ends_with function are added in PHP 8 to check if a given string starts or ends with another string or not. If it starts and ends with another string, it returns true, otherwise false.Examplestr_starts_with('hello haystack', 'hello'); //starts string found 'True' str_starts_with('hello haystack', 'stack'); //ends string found 'True'str_starts_with('hello haystack', 'hay'); //starts string found 'False' str_starts_with('hello haystack', 'hay'); //ends string found 'False'str_starts_with() function in PHP 8This function checks if a given string starts with the string needle. It returns true if the first string is found, otherwise false.str_starts_with(string $haystack, string $needle): boolExample : using str_starts_with() function.OutputString starts with 'hello'Note: If ... Read More
In PHP 8, str_contains function determines if a string contains a given substring anywhere. The str_contains function checks if a first-string is contained in the second string and it returns a true /false Boolean value based on whether the string is found or not. it is a self-explanatory function.str_contains(string $haystack, string $needle): boolExample1 : PHP 8 str_contains function.Outputstring(23) "Tutorial has been found"Example: str_contains function.Note: The above program returns false because the first string does not contain the second string.strpos() functionIn PHP 7.x, strops() function is used to check if a given string contains another string or not. This function returns ... Read More