PHP Classes

Name String Order: Get person name and surname from a string

Recommend this page to a friend!
  Info   View files Documentation   View files View files (5)   DownloadInstall with Composer Download .zip   Reputation   Support forum (2)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 50%Total: 236 All time: 8,078 This week: 47Up
Version License PHP version Categories
name-string-order 1.0.11Custom (specified...5PHP 5, Text processing, Artificial in...


This class can get person name and surname from a string.

It can take a string with the name of a person and attempts to detect the actual name by the right order.

The class can return the person first name, last name, or the complete name first with the first name or the last name.

Innovation Award
PHP Programming Innovation award nominee
April 2017
Number 7
The name of a person can be represented in different ways in different places. Sometimes the surname appears first, others times it appears last.

This class can take a look at a string with a person name and detect if the surname comes first or last. Then it can reformat the name according to whatever order is preferred in your PHP application.

Manuel Lemos
Picture of Peter Kahl
  Performance   Level  
Name: Peter Kahl <contact>
Classes: 37 packages by
Country: United Kingdom
Age: ???
All time rank: 41721 in United Kingdom
Week rank: 286 Up10 in United Kingdom Up
Innovation award
Innovation award
Nominee: 23x

Winner: 2x


Name String Order

Attempts to order a person's name as 'First Last', 'First Middle Last', 'Last First', and extracts 'First', 'Last' and 'Middle'.


Romanized Chinese name:

use peterkahl\nameStringOrder\nameStringOrder;

$nameObj = new nameStringOrder('WANG jing-jing');

echo $nameObj->getFirstLast(); # Jing-Jing Wang

echo $nameObj->getLastFirst(); # Wang Jing-Jing

echo $nameObj->getFirst();     # Jing-Jing

echo $nameObj->getLast();      # Wang

Russian name:

use peterkahl\nameStringOrder\nameStringOrder;

$nameObj = new nameStringOrder('???????? ???????????? ?????');

echo $nameObj->getFirstLast();       # ???????? ?????

echo $nameObj->getLastFirst();       # ????? ????????

echo $nameObj->getFirstMiddleLast(); # ???????? ???????????? ?????

echo $nameObj->getFirst();           # ????????

echo $nameObj->getMiddle();          # ????????????

echo $nameObj->getLast();            # ?????

Chinese name:

use peterkahl\nameStringOrder\nameStringOrder;

$nameObj = new nameStringOrder('???');

echo $nameObj->getFirst();     # ??

echo $nameObj->getLast();      # ?

Latin character name:

use peterkahl\nameStringOrder\nameStringOrder;

$nameObj = new nameStringOrder('Curie Marie');

echo $nameObj->getFirstLast(); # Marie Curie

echo $nameObj->getLastFirst(); # Curie Marie

echo $nameObj->getFirst();     # Marie

echo $nameObj->getLast();      # Curie

  Files folder image Files  
File Role Description
Files folder imagesrc (2 files)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file Doc. Documentation

  Files folder image Files  /  src  
File Role Description
  Accessible without login Plain text file dictionary-first-names.php Aux. Auxiliary script
  Plain text file nameStringOrder.php Class Class source

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:8,078
This week:47Up
User Ratings User Comments (1)
 All time
It wont work if its an Indian name
6 years ago (Vivek moyal)