Split text string into $first and $last name in php

In PHP, you can use the explode() function to split a string into an array, where each element of the array is a substring that was separated by a specified delimiter. To split a string into a first and last name, you can use a space " " as the delimiter. Here's an example:

<?php

// Define a string with the full name
$name = "John Smith";

// Split the full name into first and last name parts
$name_parts = explode(" ", $name);

// Assign the first name
$first_name = $name_parts[0];

// Assign the last name
$last_name = $name_parts[1];

// Output the first and last name
echo "First name: " . $first_name . "\n";
echo "Last name: " . $last_name . "\n";

// Output: 
// First name: John
// Last name: Smith

?>

In this example, the variable $name contains the full name "John Smith". The explode() function is used to split the string into an array, where each element of the array is a substring that was separated by a space. The first element of the array is assigned to the variable $first_name, and the second element is assigned to the variable $last_name.

Watch a course Learn object oriented PHP

If you expect the name to contain multiple parts like "John Doe Smith" or "John Wayne Smith Jr." you can use the array_slice() function to get the last part of the array which will be the last name in most cases.

<?php

// Define a string with the full name
$name = "John Smith";

// Split the full name into parts
$name_parts = explode(" ", $name);

// Extract the last name
$last_name = array_slice($name_parts, -1)[0];

// Output the last name
echo "Last name: " . $last_name . "\n";

// Output: 
// Last name: Smith

?>

You can also use preg_split() function which is regular expression version of explode function, which will help you split the string based on a regex pattern like " " (space) or "," (comma) etc.

<?php

// Define a string with the full name
$name = "John Smith";

// Split the full name into parts using a regular expression
$name_parts = preg_split("/[\s,]+/", $name);

// Assign the first name
$first_name = $name_parts[0];

// Extract the last name
$last_name = array_slice($name_parts, -1)[0];

// Output the first and last name
echo "First name: " . $first_name . "\n";
echo "Last name: " . $last_name . "\n";

// Output: 
// First name: John
// Last name: Smith

?>

This way you can split the text string into $first and $last name in PHP.