Php get initials from name

    Table of contents
  • Get Initials From Full Names In PHP Array [duplicate]
  • Generate Perfect Initials using PHP
  • Program to find the initials of a name.
  • maxrice/us-state-names-abbrevs.php
  • Get initials from full name
  • How to extract name and surname from Full name
  • LasseRafn / php-initials Public

Get Initials From Full Names In PHP Array [duplicate]

foreach ( $result as $user )
{
   $user_id = $user->user_id1;
   $user = get_userdata( $user_id );
   $name[] = $user->display_name;
}
$comma_names =  implode('/', $name);

$words = explode("/", $comma_names);
    $initials = ""; 
    foreach ($words as $w) {
        $initials .= $w[0];
        
    }

 echo $initials;
$words = array(
    'John Doe',
    'Jane Adams',
    'Michael McDonald',
    'Jim'
    );
    
$initials = implode('/', array_map(function ($name) { 
    preg_match_all('/\b\w/', $name, $matches);
    return implode('', $matches[0]);
}, $words));
echo $initials;
JD/JA/MM/J
$initials = implode('/', array_map(function ($name) { 
    return preg_replace('/(?<=\w)./', '', $name);
}, $words));

Generate Perfect Initials using PHP

class Initials
{
    /**
     * Generate initials from a name
     *
     * @param string $name
     * @return string
     */
    public function generate(string $name) : string
    {
        // @TODO
    }
}
$words = explode(' ', $name);
array(2) {
  [0]=>
    string(5) "Chris"
  [1]=>
    string(9) "Blackwell"
}
public function generate(string $name) : string
{
    $words = explode(' ', $name);
    return mb_strtoupper(
                mb_substr($words[0], 0, 1, 'UTF-8') . 
                mb_substr(end($words), 0, 1, 'UTF-8'), 
           'UTF-8');
}
public function generate(string $name) : string
{
    $words = explode(' ', $name);
    if (count($words) >= 2) {
        return mb_strtoupper(
                mb_substr($words[0], 0, 1, 'UTF-8') . 
                mb_substr(end($words), 0, 1, 'UTF-8'), 
            'UTF-8');
    }
}
protected function makeInitialsFromSingleWord(string $name) : string
{
    // @TODO
}
protected function makeInitialsFromSingleWord(string $name) : string
{
    preg_match_all('#([A-Z]+)#', $name, $capitals);
    if (count($capitals[1]) >= 2) {
        return mb_substr(implode('', $capitals[1]), 0, 2, 'UTF-8');
    }
    return mb_strtoupper(mb_substr($name, 0, 2, 'UTF-8'), 'UTF-8');
}
class Initials
{
    /**
     * Generate initials from a name
     *
     * @param string $name
     * @return string
     */
    public function generate(string $name) : string
    {
        $words = explode(' ', $name);
        if (count($words) >= 2) {
            return mb_strtoupper(
                mb_substr($words[0], 0, 1, 'UTF-8') . 
                mb_substr(end($words), 0, 1, 'UTF-8'), 
            'UTF-8');
        }
        return $this->makeInitialsFromSingleWord($name);
    }

    /**
     * Make initials from a word with no spaces
     *
     * @param string $name
     * @return string
     */
    protected function makeInitialsFromSingleWord(string $name) : string
    {
        preg_match_all('#([A-Z]+)#', $name, $capitals);
        if (count($capitals[1]) >= 2) {
            return mb_substr(implode('', $capitals[1]), 0, 2, 'UTF-8');
        }
        return mb_strtoupper(mb_substr($name, 0, 2, 'UTF-8'), 'UTF-8');
    }
}

Program to find the initials of a name.

Input  : prabhat kumar singh
Output : P K S
We take the first letter of all
words and print in capital letter.

Input  : Jude Law
Output : J L

Input  : abhishek kumar singh
Output : A K S
P K S
P K S

maxrice/us-state-names-abbrevs.php

$states = array(
	  'AL' => '01',
	  'AK' => '02',
	  'AZ' => '04',
	  'AR' => '05',
	  'CA' => '06',
	  'CO' => '08',
	  'CT' => '09',
	  'DE' => '10',
	  'DC' => '11',
	  'FL' => '12',
	  'GA' => '13',
	  'HI' => '15',
	  'ID' => '16',
	  'IL' => '17',
	  'IN' => '18',
	  'IA' => '19',
	  'KS' => '20',
	  'KY' => '21',
	  'LA' => '22',
	  'ME' => '23',
	  'MD' => '24',
	  'MA' => '25',
	  'MI' => '26',
	  'MN' => '27',
	  'MS' => '28',
	  'MO' => '29',
	  'MT' => '30',
	  'NE' => '31',
	  'NV' => '32',
	  'NH' => '33',
	  'NJ' => '34',
	  'NM' => '35',
	  'NY' => '36',
	  'NC' => '37',
	  'ND' => '38',
	  'OH' => '39',
	  'OK' => '40',
	  'OR' => '41',
	  'PA' => '42',
	  'RI' => '44',
	  'SC' => '45',
	  'SD' => '46',
	  'TN' => '47',
	  'TX' => '48',
	  'UT' => '49',
	  'VT' => '50',
	  'VA' => '51',
	  'WA' => '53',
	  'WV' => '54',
	  'WI' => '55',
	  'WY' => '56',
	);
// Check if region is american or canadian
function getCountryByState($state) {
	$canada = ['AB','BC','MB','NB','NL','NT','NS','NU','ON','PE','QC','SK','YT'];
	$america = ['AL','AK','AZ','AR','CA','CO','CT','DE','FL','GA','HI','ID','IL','IN','IA','KS','KY','LA','ME','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','OH','OK','OR','PA','RI','SC','SD','TN','TX','UT','VT','VA','WA','WV','WI','WY'];

	if (in_array($state, $canada))
		return "CA";
	if (in_array($state, $america))
		return "US";

	throw new \Exception("Couldn't match state '{$state}' to a country");
}
[
  {
    "abbr": "AL",
    "name": " Alabama"
  },
  {
    "abbr": "AK",
    "name": " Alaska"
  },
  {
    "abbr": "AZ",
    "name": " Arizona"
  },
  {
    "abbr": "AR",
    "name": " Arkansas"
  },
  {
    "abbr": "CA",
    "name": " California"
  },
  {
    "abbr": "CO",
    "name": " Colorado"
  },
  {
    "abbr": "CT",
    "name": " Connecticut"
  },
  {
    "abbr": "DE",
    "name": " Delaware"
  },
  {
    "abbr": "FL",
    "name": " Florida"
  },
  {
    "abbr": "GA",
    "name": " Georgia"
  },
  {
    "abbr": "HI",
    "name": " Hawaii"
  },
  {
    "abbr": "ID",
    "name": " Idaho"
  },
  {
    "abbr": "IL",
    "name": " Illinois"
  },
  {
    "abbr": "IN",
    "name": " Indiana"
  },
  {
    "abbr": "IA",
    "name": " Iowa"
  },
  {
    "abbr": "KS",
    "name": " Kansas"
  },
  {
    "abbr": "KY",
    "name": " Kentucky[E]"
  },
  {
    "abbr": "LA",
    "name": " Louisiana"
  },
  {
    "abbr": "ME",
    "name": " Maine"
  },
  {
    "abbr": "MD",
    "name": " Maryland"
  },
  {
    "abbr": "MA",
    "name": " Massachusetts[E]"
  },
  {
    "abbr": "MI",
    "name": " Michigan"
  },
  {
    "abbr": "MN",
    "name": " Minnesota"
  },
  {
    "abbr": "MS",
    "name": " Mississippi"
  },
  {
    "abbr": "MO",
    "name": " Missouri"
  },
  {
    "abbr": "MT",
    "name": " Montana"
  },
  {
    "abbr": "NE",
    "name": " Nebraska"
  },
  {
    "abbr": "NV",
    "name": " Nevada"
  },
  {
    "abbr": "NH",
    "name": " New Hampshire"
  },
  {
    "abbr": "NJ",
    "name": " New Jersey"
  },
  {
    "abbr": "NM",
    "name": " New Mexico"
  },
  {
    "abbr": "NY",
    "name": " New York"
  },
  {
    "abbr": "NC",
    "name": " North Carolina"
  },
  {
    "abbr": "ND",
    "name": "  North Dakota"
  },
  {
    "abbr": "OH",
    "name": " Ohio"
  },
  {
    "abbr": "OK",
    "name": " Oklahoma"
  },
  {
    "abbr": "OR",
    "name": " Oregon"
  },
  {
    "abbr": "PA",
    "name": " Pennsylvania[E]"
  },
  {
    "abbr": "RI",
    "name": " Rhode Island[F]"
  },
  {
    "abbr": "SC",
    "name": " South Carolina"
  },
  {
    "abbr": "SD",
    "name": " South Dakota"
  },
  {
    "abbr": "TN",
    "name": " Tennessee"
  },
  {
    "abbr": "TX",
    "name": " Texas"
  },
  {
    "abbr": "UT",
    "name": " Utah"
  },
  {
    "abbr": "VT",
    "name": " Vermont"
  },
  {
    "abbr": "VA",
    "name": " Virginia[E]"
  },
  {
    "abbr": "WA",
    "name": " Washington"
  },
  {
    "abbr": "WV",
    "name": " West Virginia"
  },
  {
    "abbr": "WI",
    "name": " Wisconsin"
  },
  {
    "abbr": "WY",
    "name": " Wyoming"
  }
]
// keyed by ISO
$prefectures = [
  'JP-01' => [ 'Hokkaido', '北海道' ],
  'JP-02' => [ 'Aomori', '青森県' ],
  'JP-03' => [ 'Iwate', '岩手県' ],
  'JP-04' => [ 'Miyagi', '宮城県' ],
  'JP-05' => [ 'Akita', '秋田県' ],
  'JP-06' => [ 'Yamagata', '山形県' ],
  'JP-07' => [ 'Fukushima', '福島県' ],
  'JP-08' => [ 'Ibaraki', '茨城県' ],
  'JP-09' => [ 'Tochigi', '栃木県' ],
  'JP-10' => [ 'Gunma', '群馬県' ],
  'JP-11' => [ 'Saitama', '埼玉県' ],
  'JP-12' => [ 'Chiba', '千葉県' ],
  'JP-13' => [ 'Tokyo', '東京都' ],
  'JP-14' => [ 'Kanagawa', '神奈川県' ],
  'JP-15' => [ 'Niigata', '新潟県' ],
  'JP-16' => [ 'Toyama', '富山県' ],
  'JP-17' => [ 'Ishikawa', '石川県' ],
  'JP-18' => [ 'Fukui', '福井県' ],
  'JP-19' => [ 'Yamanashi', '山梨県' ],
  'JP-20' => [ 'Nagano', '長野県' ],
  'JP-21' => [ 'Gifu', '岐阜県' ],
  'JP-22' => [ 'Shizuoka', '静岡県' ],
  'JP-23' => [ 'Aichi', '愛知県' ],
  'JP-24' => [ 'Mie', '三重県' ],
  'JP-25' => [ 'Shiga', '滋賀県' ],
  'JP-26' => [ 'Kyoto', '京都府' ],
  'JP-27' => [ 'Osaka', '大阪府' ],
  'JP-28' => [ 'Hyōgo', '兵庫県' ],
  'JP-29' => [ 'Nara', '奈良県' ],
  'JP-30' => [ 'Wakayama', '和歌山県' ],
  'JP-31' => [ 'Tottori', '鳥取県' ],
  'JP-32' => [ 'Shimane', '島根県' ],
  'JP-33' => [ 'Okayama', '岡山県' ],
  'JP-34' => [ 'Hiroshima', '広島県' ],
  'JP-35' => [ 'Yamaguchi', '山口県' ],
  'JP-36' => [ 'Tokushima', '徳島県' ],
  'JP-37' => [ 'Kagawa', '香川県' ],
  'JP-38' => [ 'Ehime', '愛媛県' ],
  'JP-39' => [ 'Kōchi',	'高知県' ],
  'JP-40' => [ 'Fukuoka', '福岡県' ],
  'JP-41' => [ 'Saga', '佐賀県' ],
  'JP-42' => [ 'Nagasaki', '長崎県' ],
  'JP-43' => [ 'Kumamoto', '熊本県' ],
  'JP-44' => [ 'Ōita', '大分県' ],
  'JP-45' => [ 'Miyazaki', '宮崎県' ],
  'JP-46' => [ 'Kagoshima', '鹿児島県' ],
  'JP-47' => [ 'Okinawa', '沖縄県' ],
]

// keyed by region
$region_prefectures = [
  'Hokkaido' => [
    'JP-01' => [ 'Hokkaido', '北海道' ],
  ],
  'Tōhoku' => [
    'JP-02' => [ 'Aomori', '青森県' ],
    'JP-03' => [ 'Iwate', '岩手県' ],
    'JP-04' => [ 'Miyagi', '宮城県' ],
    'JP-05' => [ 'Akita', '秋田県' ],
    'JP-06' => [ 'Yamagata', '山形県' ],
    'JP-07' => [ 'Fukushima', '福島県' ],    
  ],
  'Kantō' => [
    'JP-08' => [ 'Ibaraki', '茨城県' ],
    'JP-09' => [ 'Tochigi', '栃木県' ],
    'JP-10' => [ 'Gunma', '群馬県' ],
    'JP-11' => [ 'Saitama', '埼玉県' ],
    'JP-12' => [ 'Chiba', '千葉県' ],
    'JP-13' => [ 'Tokyo', '東京都' ],
    'JP-14' => [ 'Kanagawa', '神奈川県' ],
  ],
  'Chūbu' => [
    'JP-15' => [ 'Niigata', '新潟県' ],
    'JP-16' => [ 'Toyama', '富山県' ],
    'JP-17' => [ 'Ishikawa', '石川県' ],
    'JP-18' => [ 'Fukui', '福井県' ],
    'JP-19' => [ 'Yamanashi', '山梨県' ],
    'JP-20' => [ 'Nagano', '長野県' ],
    'JP-21' => [ 'Gifu', '岐阜県' ],
    'JP-22' => [ 'Shizuoka', '静岡県' ],
    'JP-23' => [ 'Aichi', '愛知県' ],    
  ],
  'Kansai' => [
    'JP-24' => [ 'Mie', '三重県' ],
    'JP-25' => [ 'Shiga', '滋賀県' ],
    'JP-26' => [ 'Kyoto', '京都府' ],
    'JP-27' => [ 'Osaka', '大阪府' ],
    'JP-28' => [ 'Hyōgo', '兵庫県' ],
    'JP-29' => [ 'Nara', '奈良県' ],
    'JP-30' => [ 'Wakayama', '和歌山県' ],    
  ],
  'Chūgoku' => [
    'JP-31' => [ 'Tottori', '鳥取県' ],
    'JP-32' => [ 'Shimane', '島根県' ],
    'JP-33' => [ 'Okayama', '岡山県' ],
    'JP-34' => [ 'Hiroshima', '広島県' ],
    'JP-35' => [ 'Yamaguchi', '山口県' ],    
  ],
  'Shikoku' => [
    'JP-36' => [ 'Tokushima', '徳島県' ],
    'JP-37' => [ 'Kagawa', '香川県' ],
    'JP-38' => [ 'Ehime', '愛媛県' ],
    'JP-39' => [ 'Kōchi',	'高知県' ],    
  ],
  'Kyushu' => [
    'JP-40' => [ 'Fukuoka', '福岡県' ],
    'JP-41' => [ 'Saga', '佐賀県' ],
    'JP-42' => [ 'Nagasaki', '長崎県' ],
    'JP-43' => [ 'Kumamoto', '熊本県' ],
    'JP-44' => [ 'Ōita', '大分県' ],
    'JP-45' => [ 'Miyazaki', '宮崎県' ],
    'JP-46' => [ 'Kagoshima', '鹿児島県' ],
    'JP-47' => [ 'Okinawa', '沖縄県' ],    
  ],
]
    private enum ClimbState {
        INITIALIZING,
        LIFTING,
        GAINING_FOOTHOLD, 
        TRIGGERING_RETRACT_FRONT, 
        RETRACTING_FRONT, 
        GAINING_BALANCE, 
        RETRACTING_BACK, 
        FINISHING, 
        ALL_THE_POINTS
    }
$us_state_abbrevs_names = array(
	'AL' => 'ALABAMA',
	'AK' => 'ALASKA',
	'AS' => 'AMERICAN SAMOA',
	'AZ' => 'ARIZONA',
	'AR' => 'ARKANSAS',
	'CA' => 'CALIFORNIA',
	'CO' => 'COLORADO',
	'CT' => 'CONNECTICUT',
	'DE' => 'DELAWARE',
	'DC' => 'DISTRICT OF COLUMBIA',
	'FM' => 'FEDERATED STATES OF MICRONESIA',
	'FL' => 'FLORIDA',
	'GA' => 'GEORGIA',
	'GU' => 'GUAM GU',
	'HI' => 'HAWAII',
	'ID' => 'IDAHO',
	'IL' => 'ILLINOIS',
	'IN' => 'INDIANA',
	'IA' => 'IOWA',
	'KS' => 'KANSAS',
	'KY' => 'KENTUCKY',
	'LA' => 'LOUISIANA',
	'ME' => 'MAINE',
	'MH' => 'MARSHALL ISLANDS',
	'MD' => 'MARYLAND',
	'MA' => 'MASSACHUSETTS',
	'MI' => 'MICHIGAN',
	'MN' => 'MINNESOTA',
	'MS' => 'MISSISSIPPI',
	'MO' => 'MISSOURI',
	'MT' => 'MONTANA',
	'NE' => 'NEBRASKA',
	'NV' => 'NEVADA',
	'NH' => 'NEW HAMPSHIRE',
	'NJ' => 'NEW JERSEY',
	'NM' => 'NEW MEXICO',
	'NY' => 'NEW YORK',
	'NC' => 'NORTH CAROLINA',
	'ND' => 'NORTH DAKOTA',
	'MP' => 'NORTHERN MARIANA ISLANDS',
	'OH' => 'OHIO',
	'OK' => 'OKLAHOMA',
	'OR' => 'OREGON',
	'PW' => 'PALAU',
	'PA' => 'PENNSYLVANIA',
	'PR' => 'PUERTO RICO',
	'RI' => 'RHODE ISLAND',
	'SC' => 'SOUTH CAROLINA',
	'SD' => 'SOUTH DAKOTA',
	'TN' => 'TENNESSEE',
	'TX' => 'TEXAS',
	'UT' => 'UTAH',
	'VT' => 'VERMONT',
	'VI' => 'VIRGIN ISLANDS',
	'VA' => 'VIRGINIA',
	'WA' => 'WASHINGTON',
	'WV' => 'WEST VIRGINIA',
	'WI' => 'WISCONSIN',
	'WY' => 'WYOMING',
	'AE' => 'ARMED FORCES AFRICA \ CANADA \ EUROPE \ MIDDLE EAST',
	'AA' => 'ARMED FORCES AMERICA (EXCEPT CANADA)',
	'AP' => 'ARMED FORCES PACIFIC',
);
/**
 * State Abbreviations
 *
 * Converts state names to abbreviations and visa versa, correcting case
 * Provide 2 letter abbr to get name, or partial names to get abbr
 * apply 'true' as arg to force abbreviation or returns false
 * returns capialized names that are not recognized if no 'true' arg
 * applies to USA, territories, Armed Forces, & Canadian Provinces
 *
 * @example echo state_abbr('oK'); // Oklahoma
 * @example echo state_abbr(' oK  '); // Oklahoma
 * @example echo state_abbr('oKlHoMa'); // OK
 * @example echo state_abbr('oK',true); // OK
 * @example echo state_abbr(' oK  ',true); // OK
 * @example echo state_abbr(' oklaho  '); // OK
 * @example echo state_abbr(' oklaho  ',true); // OK
 * @example echo state_abbr('nh '); // New Hampshire
 * @example echo state_abbr('nh ',true); // NH
 * @example echo state_abbr('hamp   '); // NH
 * @example echo state_abbr('new ham  ',true); // NH
 */
<?php

$wifeStateRatings = [
    'ALABAMA' => '3',
    'ALABAMA' => '8',
    'ALASKA' => '10',
    'ARIZONA' => '10',
    'ARKANSAS' => '6',
    'CALIFORNIA' => '3',
    'COLORADO' => '3',
    'CONNECTICUT' => '8',
    'DELAWARE' => '6',
    'FLORIDA' => '5',
    'GEORGIA' => '7',
    'HAWAII' => '10',
    'IDAHO' => '6',
    'ILLINOIS' => '4',
    'INDIANA' => '3',
    'IOWA' => '3',
    'KANSAS' => '8',
    'KENTUCKY' => '9',
    'LOUISIANA' => '7',
    'MAINE' => '7',
    'MARYLAND' => '5',
    'MASSACHUSETTS' => '10',
    'MICHIGAN' => '10',
    'MINNESOTA' => '3',
    'MISSISSIPPI' => '5',
    'MISSOURI' => '4',
    'MONTANA' => '10',
    'NEBRASKA' => '6',
    'NEVADA' => '9',
    'NEW HAMPSHIRE' => '5',
    'NEW JERSEY' => '7',
    'NEW MEXICO' => '10',
    'NEW YORK' => '1',
    'NORTH CAROLINA' => '2',
    'NORTH DAKOTA' => '3',
    'OHIO' => '8',
    'OKLAHOMA' => '6',
    'OREGON' => '10',
    'PENNSYLVANIA' => '10',
    'RHODE ISLAND' => '1',
    'SOUTH CAROLINA' => '9',
    'SOUTH DAKOTA' => '10',
    'TENNESSEE' => '5',
    'TEXAS' => '1',
    'UTAH' => '2',
    'VERMONT' => '2',
    'VIRGINIA' => '7',
    'WASHINGTON' => '5',
    'WEST VIRGINIA' => '9',
    'WISCONSIN' => '7',
    'WYOMING' => '4',
];

?>
$us_state_abbrevs_names = array(
	'AL' => 'ALABAMA',
	'AK' => 'ALASKA',
	'AS' => 'AMERICAN SAMOA',
	'AZ' => 'ARIZONA',
	'AR' => 'ARKANSAS',
	'CA' => 'CALIFORNIA',
	'CO' => 'COLORADO',
	'CT' => 'CONECTICUT',
	'DE' => 'DELAWARE',
	'DC' => 'DISTRICT OF COLUMBIA',
	'FM' => 'FEDERATED STATES OF MICRONESIA',
	'FL' => 'FLORIDA',
	'GA' => 'GEORGIA',
	'GU' => 'GUAM GU',
	'HI' => 'HAWAI',
	'ID' => 'IDAHO',
	'IL' => 'ILINOIS',
	'IN' => 'INDIANA',
	'IA' => 'IOWA',
	'KS' => 'KANSAS',
	'KY' => 'KENTUCKY',
	'LA' => 'LOUISIANA',
	'ME' => 'MAINE',
	'MH' => 'MARSHAL ISLANDS',
	'MD' => 'MARYLAND',
	'MA' => 'MASACHUSETS',
	'MI' => 'MICHIGAN',
	'MN' => 'MINESOTA',
	'MS' => 'MISISIPI',
	'MO' => 'MISOURI',
	'MT' => 'MONTANA',
	'NE' => 'NEBRASKA',
	'NV' => 'NEVADA',
	'UH' => 'US HAMPSHIRE',
	'AJ' => 'AMERICAN JERSEY',
	'MU' => 'MEXICO BUT IN THE US',
	'BY' => 'THE BIG YORK',
	'NC' => 'NORTH CAROLINA',
	'ND' => 'NORTH DAKOTA',
	'MP' => 'NORTHERN MARIANA ISLANDS',
	'OH' => 'OHIO',
	'OK' => 'OKLAHOMA',
	'OR' => 'OREGON',
	'PW' => 'PALAU',
	'PA' => 'PENSYLVANIA',
	'PR' => 'PUERTO RICO',
	'RI' => 'RHODE ISLAND',
	'SC' => 'SOUTH CAROLINA',
	'SD' => 'SOUTH DAKOTA',
	'TN' => 'TENESE',
	'TX' => 'TEXAS',
	'UT' => 'UTAH',
	'VT' => 'VERMONT',
	'VI' => 'VIRGIN ISLANDS',
	'VA' => 'VIRGINIA',
	'WA' => 'WASHINGTON',
	'WV' => 'WEST VIRGINIA',
	'WI' => 'WISCONSIN',
	'WY' => 'WYOMING',
	'AE' => 'ARMED FORCES AFRICA \ CANADA \ EUROPE \ MIDLE EAST',
	'A' => 'ARMED FORCES AMERICA (EXCEPT CANADA)',
	'AP' => 'ARMED FORCES PACIFIC',
);

?>
function state_abreviation_for( $state ) {
 // from https://gist.github.com/maxrice/2776900 and http://www.comeexplorecanada.com/abbreviations.php
 static $states = ['ALABAMA' => 'AL', 'ALASKA' => 'AK', 'ARIZONA' => 'AZ', 'ARKANSAS' => 'AR', 'CALIFORNIA' => 'CA', 'COLORADO' => 'CO', 'CONNECTICUT' => 'CT', 'DELAWARE' => 'DE', 'FLORIDA' => 'FL', 'GEORGIA' => 'GA', 'HAWAII' => 'HI', 'IDAHO' => 'ID', 'ILLINOIS' => 'IL', 'INDIANA' => 'IN', 'IOWA' => 'IA', 'KANSAS' => 'KS', 'KENTUCKY' => 'KY', 'LOUISIANA' => 'LA', 'MAINE' => 'ME', 'MARYLAND' => 'MD', 'MASSACHUSETTS' => 'MA', 'MICHIGAN' => 'MI', 'MINNESOTA' => 'MN', 'MISSISSIPPI' => 'MS', 'MISSOURI' => 'MO', 'MONTANA' => 'MT', 'NEBRASKA' => 'NE', 'NEVADA' => 'NV', 'NEW HAMPSHIRE' => 'NH', 'NEW JERSEY' => 'NJ', 'NEW MEXICO' => 'NM', 'NEW YORK' => 'NY', 'NORTH CAROLINA' => 'NC', 'NORTH DAKOTA' => 'ND', 'OHIO' => 'OH', 'OKLAHOMA' => 'OK', 'OREGON' => 'OR', 'PENNSYLVANIA' => 'PA', 'RHODE ISLAND' => 'RI', 'SOUTH CAROLINA' => 'SC', 'SOUTH DAKOTA' => 'SD', 'TENNESSEE' => 'TN', 'TEXAS' => 'TX', 'UTAH' => 'UT', 'VERMONT' => 'VT', 'VIRGINIA' => 'VA', 'WASHINGTON' => 'WA', 'WEST VIRGINIA' => 'WV', 'WISCONSIN' => 'WI', 'WYOMING' => 'WY', 'ALBERTA' => 'AB', 'BRITISH COLUMBIA' => 'BC', 'MANITOBA' => 'MB', 'NEW BRUNSWICK' => 'NB', 'NEWFOUNDLAND AND LABRADOR' => 'NL', 'NOVA SCOTIA' => 'NS', 'NORTWEST TERRITORIES' => 'NT', 'NUNAVUT' => 'NU', 'ONTARIO' => 'ON', 'PRINCE EDWARD ISLAND' => 'PE', 'QUEBEC' => 'QC', 'SASKATCHEWAN' => 'SK', 'YUKON' => 'YT', 'PUERTO RICO' => 'PR', 'VIRGIN ISLANDS' => 'VI', 'WASHINGTON DC' => 'DC'];

 // first check if input is two letters, and if so make sure that it matches one of the abbreviations, then return that
 if ( strlen( $state ) == 2 ) {
   if ( in_array( strtoupper( $state ), $states ) ) {
      return strtoupper( $state );
   } else {
    return null;
  }
}

   // check for the full state name in the array
  if ( array_key_exists( strtoupper( $state ), $states ) ) {
    return $states[strtoupper( $state )];
  } else {
    return null;
  }
}
function state_abreviation_for( $state ) {
 // from https://gist.github.com/maxrice/2776900 and http://www.comeexplorecanada.com/abbreviations.php
 static $states = ['ALABAMA' => 'AL', 'ALASKA' => 'AK', 'ARIZONA' => 'AZ', 'ARKANSAS' => 'AR', 'CALIFORNIA' => 'CA', 'COLORADO' => 'CO', 'CONNECTICUT' => 'CT', 'DELAWARE' => 'DE', 'FLORIDA' => 'FL', 'GEORGIA' => 'GA', 'HAWAII' => 'HI', 'IDAHO' => 'ID', 'ILLINOIS' => 'IL', 'INDIANA' => 'IN', 'IOWA' => 'IA', 'KANSAS' => 'KS', 'KENTUCKY' => 'KY', 'LOUISIANA' => 'LA', 'MAINE' => 'ME', 'MARYLAND' => 'MD', 'MASSACHUSETTS' => 'MA', 'MICHIGAN' => 'MI', 'MINNESOTA' => 'MN', 'MISSISSIPPI' => 'MS', 'MISSOURI' => 'MO', 'MONTANA' => 'MT', 'NEBRASKA' => 'NE', 'NEVADA' => 'NV', 'NEW HAMPSHIRE' => 'NH', 'NEW JERSEY' => 'NJ', 'NEW MEXICO' => 'NM', 'NEW YORK' => 'NY', 'NORTH CAROLINA' => 'NC', 'NORTH DAKOTA' => 'ND', 'OHIO' => 'OH', 'OKLAHOMA' => 'OK', 'OREGON' => 'OR', 'PENNSYLVANIA' => 'PA', 'RHODE ISLAND' => 'RI', 'SOUTH CAROLINA' => 'SC', 'SOUTH DAKOTA' => 'SD', 'TENNESSEE' => 'TN', 'TEXAS' => 'TX', 'UTAH' => 'UT', 'VERMONT' => 'VT', 'VIRGINIA' => 'VA', 'WASHINGTON' => 'WA', 'WEST VIRGINIA' => 'WV', 'WISCONSIN' => 'WI', 'WYOMING' => 'WY', 'ALBERTA' => 'AB', 'BRITISH COLUMBIA' => 'BC', 'MANITOBA' => 'MB', 'NEW BRUNSWICK' => 'NB', 'NEWFOUNDLAND AND LABRADOR' => 'NL', 'NOVA SCOTIA' => 'NS', 'NORTWEST TERRITORIES' => 'NT', 'NUNAVUT' => 'NU', 'ONTARIO' => 'ON', 'PRINCE EDWARD ISLAND' => 'PE', 'QUEBEC' => 'QC', 'SASKATCHEWAN' => 'SK', 'YUKON' => 'YT', 'PUERTO RICO' => 'PR', 'VIRGIN ISLANDS' => 'VI', 'WASHINGTON DC' => 'DC'];

 // first check if input is two letters, and if so make sure that it matches one of the abbreviations, then return that
 if ( strlen( $state ) == 2 ) {
   if ( in_array( strtoupper( $state ), $states ) ) {
      return strtoupper( $state );
   } else {
    return null;
  }
}

   // check for the full state name in the array
  if ( array_key_exists( strtoupper( $state ), $states ) ) {
    return $states[strtoupper( $state )];
  } else {
    return null;
  }
}
$state_zip_code_totals = [
    13168     => 'VI',
    96799     => 'AS',
    140075    => 'PR',
    193879    => 'PW',
    193930    => 'MH',
    260688    => 'RI',
    290853    => 'MP',
    387770    => 'FM',
    991495    => 'NH',
    1259966   => 'GU',
    1338256   => 'MA',
    1696720   => 'VT',
    1906928   => 'AA',
    1946248   => 'DE',
    2187658   => 'ME',
    2814858   => 'CT',
    4350704   => 'AE',
    5819302   => 'NJ',
    6597739   => 'DC',
    13199122  => 'MD',
    13452400  => 'HI',
    15919979  => 'SC',
    16101058  => 'WY',
    19197510  => 'AP',
    20864380  => 'MS',
    22048513  => 'WV',
    22609881  => 'SD',
    22679051  => 'NV',
    23837397  => 'ND',
    24084963  => 'MT',
    27151742  => 'ID',
    27312212  => 'AK',
    27845593  => 'NY',
    28797817  => 'VA',
    29359808  => 'UT',
    30070901  => 'TN',
    30155013  => 'AL',
    30285870  => 'GA',
    30585902  => 'NC',
    37530312  => 'NM',
    38098744  => 'PA',
    39881387  => 'KY',
    42629108  => 'NE',
    46588515  => 'IN',
    47829299  => 'OR',
    48542656  => 'WI',
    48607861  => 'AZ',
    49744409  => 'FL',
    50702440  => 'KS',
    51307976  => 'LA',
    51336487  => 'AR',
    53456968  => 'CO',
    54458540  => 'IA',
    57285510  => 'MI',
    57376000  => 'OK',
    57656436  => 'MN',
    64342337  => 'OH',
    72268165  => 'WA',
    75564998  => 'MO',
    97879345  => 'IL',
    206507257 => 'TX',
    248018835 => 'CA',
];
$us_states_binary = array(
    '01000001 01001100' => '01000001 01101100 01100001 01100010 01100001 01101101 01100001'
    '01000001 01001011' => '01000001 01101100 01100001 01110011 01101011 01100001'
    '01000001 01011010' => '01000001 01110010 01101001 01111010 01101111 01101110 01100001'
    '01000001 01010010' => '01000001 01110010 01101011 01100001 01101110 01110011 01100001 01110011'
    '01000011 01000001' => '01000011 01100001 01101100 01101001 01100110 01101111 01110010 01101110 01101001 01100001'
    '01000011 01001111' => '01000011 01101111 01101100 01101111 01110010 01100001 01100100 01101111'
    '01000011 01010100' => '01000011 01101111 01101110 01101110 01100101 01100011 01110100 01101001 01100011 01110101 01110100'
    '01000100 01000101' => '01000100 01100101 01101100 01100001 01110111 01100001 01110010 01100101'
    '01000100 01000011' => '01000100 01101001 01110011 01110100 01110010 01101001 01100011 01110100 00100000 01101111 01100110 00100000 01000011 01101111 01101100 01110101 01101101 0110001001101001 01100001'
    '01000110 01001100' => '01000110 01101100 01101111 01110010 01101001 01100100 01100001'
    '01000111 01000001' => '01000111 01100101 01101111 01110010 01100111 01101001 01100001'
    '01001000 01001001' => '01001000 01100001 01110111 01100001 01101001 01101001'
    '01001001 01000100' => '01001001 01100100 01100001 01101000 01101111'
    '01001001 01001100' => '01001001 01101100 01101100 01101001 01101110 01101111 01101001 01110011'
    '01001001 01001110' => '01001001 01101110 01100100 01101001 01100001 01101110 01100001'
    '01001001 01000001' => '01001001 01101111 01110111 01100001'
    '01001011 01010011' => '01001011 01100001 01101110 01110011 01100001 01110011'
    '01001011 01011001' => '01001011 01100101 01101110 01110100 01110101 01100011 01101011 01111001'
    '01001100 01000001' => '01001100 01101111 01110101 01101001 01110011 01101001 01100001 01101110 01100001'
    '01001101 01000101' => '01001101 01100001 01101001 01101110 01100101'
    '01001101 01000100' => '01001101 01100001 01110010 01111001 01101100 01100001 01101110 01100100'
    '01001101 01000001' => '01001101 01100001 01110011 01110011 01100001 01100011 01101000 01110101 01110011 01100101 01110100 01110100 01110011'
    '01001101 01001001' => '01001101 01101001 01100011 01101000 01101001 01100111 01100001 01101110'
    '01001101 01001110' => '01001101 01101001 01101110 01101110 01100101 01110011 01101111 01110100 01100001'
    '01001101 01010011' => '01001101 01101001 01110011 01110011 01101001 01110011 01110011 01101001 01110000 01110000 01101001'
    '01001101 01001111' => '01001101 01101001 01110011 01110011 01101111 01110101 01110010 01101001'
    '01001101 01010100' => '01001101 01101111 01101110 01110100 01100001 01101110 01100001'
    '01001110 01000101' => '01001110 01100101 01100010 01110010 01100001 01110011 01101011 01100001'
    '01001110 01010110' => '01001110 01100101 01110110 01100001 01100100 01100001'
    '01001110 01001000' => '01001110 01100101 01110111 00100000 01001000 01100001 01101101 01110000 01110011 01101000 01101001 01110010 01100101'
    '01001110 01001010' => '01001110 01100101 01110111 00100000 01001010 01100101 01110010 01110011 01100101 01111001'
    '01001110 01001101' => '01001110 01100101 01110111 00100000 01001101 01100101 01111000 01101001 01100011 01101111'
    '01001110 01011001' => '01001110 01100101 01110111 00100000 01011001 01101111 01110010 01101011'
    '01001110 01000011' => '01001110 01101111 01110010 01110100 01101000 00100000 01000011 01100001 01110010 01101111 01101100 01101001 01101110 01100001'
    '01001110 01000100' => '01001110 01101111 01110010 01110100 01101000 00100000 01000100 01100001 01101011 01101111 01110100 01100001'
    '01001111 01001000' => '01001111 01101000 01101001 01101111'
    '01001111 01001011' => '01001111 01101011 01101100 01100001 01101000 01101111 01101101 01100001'
    '01001111 01010010' => '01001111 01110010 01100101 01100111 01101111 01101110'
    '01010000 01000001' => '01010000 01100101 01101110 01101110 01110011 01111001 01101100 01110110 01100001 01101110 01101001 01100001'
    '01010010 01001001' => '01010010 01101000 01101111 01100100 01100101 00100000 01001001 01110011 01101100 01100001 01101110 01100100'
    '01010011 01000011' => '01010011 01101111 01110101 01110100 01101000 00100000 01000011 01100001 01110010 01101111 01101100 01101001 01101110 01100001'
    '01010011 01000100' => '01010011 01101111 01110101 01110100 01101000 00100000 01000100 01100001 01101011 01101111 01110100 01100001'
    '01010100 01001110' => '01010100 01100101 01101110 01101110 01100101 01110011 01110011 01100101 01100101'
    '01010100 01011000' => '01010100 01100101 01111000 01100001 01110011'
    '01010101 01010100' => '01010101 01110100 01100001 01101000'
    '01010110 01010100' => '01010110 01100101 01110010 01101101 01101111 01101110 01110100'
    '01010110 01000001' => '01010110 01101001 01110010 01100111 01101001 01101110 01101001 01100001'
    '01010111 01000001' => '01010111 01100001 01110011 01101000 01101001 01101110 01100111 01110100 01101111 01101110'
    '01010111 01010110' => '01010111 01100101 01110011 01110100 00100000 01010110 01101001 01110010 01100111 01101001 01101110 01101001 01100001'
    '01010111 01001001' => '01010111 01101001 01110011 01100011 01101111 01101110 01110011 01101001 01101110'
    '01010111 01011001' => '01010111 01111001 01101111 01101101 01101001 01101110 01100111'
);
$stateNames = [
    'AL'=>'lbm',
    'AK'=>'lsk',
    'AS'=>'mrcn sm',
    'AZ'=>'rzn',
    'AR'=>'rknss',
    'CA'=>'Clfrn',
    'CO'=>'Clrd',
    'CT'=>'Cnnctct',
    'DE'=>'Dlwr',
    'DC'=>'Dstrct f Clmb',
    'FM'=>'Fdrtd Stts f Mcrns',
    'FL'=>'Flrd',
    'GA'=>'Grg',
    'GU'=>'Gm G',
    'HI'=>'Hw',
    'ID'=>'dh',
    'IL'=>'llns',
    'IN'=>'ndn',
    'IA'=>'w',
    'KS'=>'Knss',
    'KY'=>'Kntck',
    'LA'=>'Lsn',
    'ME'=>'Mn',
    'MH'=>'Mrshll slnds',
    'MD'=>'Mrlnd',
    'MA'=>'Msschstts',
    'MI'=>'Mchgn',
    'MN'=>'Mnnst',
    'MS'=>'Msssspp',
    'MO'=>'Mssr',
    'MT'=>'Mntn',
    'NE'=>'Nbrsk',
    'NV'=>'Nvd',
    'NH'=>'Nw Hmpshr',
    'NJ'=>'Nw Jrs',
    'NM'=>'Nw Mxc',
    'NY'=>'Nw rk',
    'NC'=>'Nrth Crln',
    'ND'=>'Nrth Dkt',
    'MP'=>'Nrthrn Mrn slnds',
    'OH'=>'h',
    'OK'=>'klhm',
    'OR'=>'rgn',
    'PW'=>'Pl',
    'PA'=>'Pnnslvn',
    'PR'=>'Prt Rc',
    'RI'=>'Rhd slnd',
    'SC'=>'Sth Crln',
    'SD'=>'Sth Dkt',
    'TN'=>'Tnnss',
    'TX'=>'Txs',
    'UT'=>'th',
    'VT'=>'Vrmnt',
    'VI'=>'Vrgn slnds',
    'VA'=>'Vrgn',
    'WA'=>'Wshngtn',
    'WV'=>'Wst Vrgn',
    'WI'=>'Wscnsn',
    'WY'=>'Wmng',
    'AE'=>'rmd Frcs frc \ Cnd \ rp \ Mddl st',
    'AA'=>'rmd Frcs mrc (xcpt Cnd)',
    'AP'=>'rmd Frcs Pcfc'
];
function state($state_entry) {
	switch( strtolower($state_entry) ) {
		case "district of columbia": $state = "DC"; break;
		case "alaska": $state = "AK"; break;
		case "alabama": $state = "AL"; break;
		case "arkansas": $state = "AR"; break;
		case "arizona": $state = "AZ"; break;
		case "california": $state = "CA"; break;
		case "colorado": $state = "CO"; break;
		case "connecticut": $state = "CT"; break;
		case "delaware": $state = "DE"; break;
		case "florida": $state = "FL"; break;
		case "georgia": $state = "GA"; break;
		case "hawaii": $state = "HI"; break;
		case "iowa": $state = "IA"; break;
		case "idaho": $state = "ID"; break;
		case "illinois": $state = "IL"; break;
		case "indiana": $state = "IN"; break;
		case "kansas": $state = "KS"; break;
		case "kentucky": $state = "KY"; break;
		case "louisiana": $state = "LA"; break;
		case "massachusetts": $state = "MA"; break;
		case "maryland": $state = "MD"; break;
		case "maine": $state = "ME"; break;
		case "michigan": $state = "MI"; break;
		case "minnesota": $state = "MN"; break;
		case "missouri": $state = "MO"; break;
		case "mississippi": $state = "MS"; break;
		case "montana": $state = "MT"; break;
		case "north carolina": $state = "NC"; break;
		case "north dakota": $state = "ND"; break;
		case "nebraska": $state = "NE"; break;
		case "new hampshire": $state = "NH"; break;
		case "new jersey": $state = "NJ"; break;
		case "new mexico": $state = "NM"; break;
		case "nevada": $state = "NV"; break;
		case "new york": $state = "NY"; break;
		case "ohio": $state = "OH"; break;
		case "oklahoma": $state = "OK"; break;
		case "oregon": $state = "OR"; break;
		case "pennsylvania": $state = "PA"; break;
		case "rhode island": $state = "RI"; break;
		case "south carolina": $state = "SC"; break;
		case "south dakota": $state = "SD"; break;
		case "tennessee": $state = "TN"; break;
		case "texas": $state = "TX"; break;
		case "utah": $state = "UT"; break;
		case "virginia": $state = "VA"; break;
		case "vermont": $state = "VT"; break;
		case "washington": $state = "WA"; break;
		case "wisconsin": $state = "WI"; break;
		case "west virginia": $state = "WV"; break;
		case "wyoming": $state = "WY"; break;
		default: $state = $state_entry;
	}
	return strtoupper($state);
}
$stateNames = [
'AL' => 'Alabama', 
'AK' => 'Alaska', 
'AS' => 'American Samoa', 
'AZ' => 'Arizona', 
'AR' => 'Arkansas', 
'AE' => 'Armed Forces - Europe', 
'AP' => 'Armed Forces - Pacific', 
'AA' => 'Armed Forces - USA/Canada', 
'CA' => 'California', 
'CO' => 'Colorado', 
'CT' => 'Connecticut', 
'DE' => 'Delaware', 
'DC' => 'District of Columbia', 
'FM' => 'Federated States of Micronesia', 
'FL' => 'Florida', 
'GA' => 'Georgia', 
'GU' => 'Guam', 
'HI' => 'Hawaii', 
'ID' => 'Idaho', 
'IL' => 'Illinois', 
'IN' => 'Indiana', 
'IA' => 'Iowa', 
'KS' => 'Kansas', 
'KY' => 'Kentucky', 
'LA' => 'Louisiana', 
'ME' => 'Maine', 
'MH' => 'Marshall Islands', 
'MD' => 'Maryland', 
'MA' => 'Massachusetts', 
'MI' => 'Michigan', 
'MN' => 'Minnesota', 
'MS' => 'Mississippi', 
'MO' => 'Missouri', 
'MT' => 'Montana', 
'NE' => 'Nebraska', 
'NV' => 'Nevada', 
'NH' => 'New Hampshire', 
'NJ' => 'New Jersey', 
'NM' => 'New Mexico', 
'NY' => 'New York', 
'NC' => 'North Carolina', 
'ND' => 'North Dakota', 
'OH' => 'Ohio', 
'OK' => 'Oklahoma', 
'OR' => 'Oregon', 
'PA' => 'Pennsylvania', 
'PR' => 'Puerto Rico', 
'RI' => 'Rhode Island', 
'SC' => 'South Carolina', 
'SD' => 'South Dakota', 
'TN' => 'Tennessee', 
'TX' => 'Texas', 
'UT' => 'Utah', 
'VT' => 'Vermont', 
'VI' => 'Virgin Islands', 
'VA' => 'Virginia', 
'WA' => 'Washington', 
'WV' => 'West Virginia', 
'WI' => 'Wisconsin', 
'WY' => 'Wyoming', 
];
$statesToAbbr = array(
  'Alaska' => 'AK',
  'Alabama' => 'AL',
  'Arkansas' => 'AR',
  'Arizona' => 'AZ',
  'California' => 'CA',
  'Colorado' => 'CO',
  'Connecticut' => 'CT',
  'Delaware' => 'DE',
  'Florida' => 'FL',
  'Georgia' => 'GA',
  'Hawaii' => 'HI',
  'Idaho' => 'ID',
  'Illinois' => 'IL',
  'Indiana' => 'IN',
  'Iowa' => 'IA',
  'Kentucky' => 'KY',
  'Louisiana' => 'LA',
  'Maine' => 'ME',
  'Maryland' => 'MD',
  'Massachusetts' => 'MA',
  'Michigan' => 'MI',
  'Minnesota' => 'MN',
  'Mississippi' => 'MS',
  'Missouri' => 'MO',
  'Montana' => 'MT',
  'Nebraska' => 'NE',
  'Nevada' => 'NV',
  'New Hampshire' => 'NH',
  'New Jersey' => 'NJ',
  'New Mexico' => 'NM',
  'New York' => 'NY',
  'North Carolina' => 'NC',
  'North Dakota' => 'ND',
  'Ohio' => 'OH',
  'Oklahoma' => 'OK',
  'Oregon' => 'OR',
  'Pennsylvania' => 'PA',
  'Rhode Island' => 'RI',
  'South Carolina' => 'SC',
  'South Dakota' => 'SD',
  'Tennessee' => 'TX',
  'Texas' => 'AK',
  'Utah' => 'UT',
  'Vermont' => 'VT',
  'Virginia' => 'VA',
  'Washington' => 'WA',
  'West Virginia' => 'WV',
  'Wisconsin' => 'WI',
  'Wyoming' => 'WY',
);

Get initials from full name

import javax.swing.JOptionPane;

public class Program
{

private static String fullName;
private static String firstName;
private static String middleName;
private static String lastName;

private static char firstInitial;
private static char middleInitial;
private static char lastInitial;

public static void main(String[] args)
{
    start();
}

public static void start()
{
    greet();
    askInput();
    seperateFullName(fullName);
    getInitials(firstName, middleName, lastName);
    showResult();
}

// @formatter:off
private static void greet()
{
    int dialogResult = JOptionPane.showConfirmDialog(null,  "This program asks you for you first, middle and last name"
                            + " and gives back your initials.\nDo you want to continue?");

    if (dialogResult == JOptionPane.NO_OPTION)
    {
        JOptionPane.showMessageDialog(null, "Shutting down...", null, JOptionPane.WARNING_MESSAGE);
        System.exit(0);
    }

}

private static void askInput()
{
    fullName = JOptionPane.showInputDialog("Please enter your first, middle and last name.");
}

private static void seperateFullName(String fullName)
{
    try
    {
        int firstSpace = fullName.indexOf(" ");
        firstName = fullName.substring(0, firstSpace);
        int lastSpace = fullName.lastIndexOf(" ");
        middleName = fullName.substring(firstSpace + 1 , lastSpace);
        lastName = fullName.substring(lastSpace + 1, fullName.length());
    }
    catch (StringIndexOutOfBoundsException e)
    {
        JOptionPane.showMessageDialog(null, "Invalid input!", null,
                JOptionPane.WARNING_MESSAGE, null);
        start();
    }
}

private static void getInitials(String firstName, String middleName, String lastName)
{
    firstInitial = firstName.charAt(0);
    middleInitial = middleName.charAt(0);
    lastInitial = lastName.charAt(0);
}
// @formatter:on

private static void showResult()
{
    JOptionPane.showMessageDialog(null, "Your initials are: "
            + firstInitial + "." + middleInitial + "." + lastInitial + ".");
}
}
    int firstSpace = fullName.indexOf(" ");
    firstName = fullName.substring(0, firstSpace);
    int lastSpace = fullName.lastIndexOf(" ");
    middleName = fullName.substring(firstSpace + 1 , lastSpace);
    lastName = fullName.substring(lastSpace + 1, fullName.length());
String[] parts = fullName.split(" ");
public static void start()
{
    greet();
    String fullName = askInput();
    String[] nameParts = seperateFullName(fullName);
    String[] initials = getInitials(nameParts);
    showResult(initials);
}
private static String firstInitial;
private static String middleInitial;
private static String lastInitial;
class Name {
    private char firstInitial;
    private char middleInitial;
    private char lastInitial;
public static void start()
{
    greet();
    askInput();
    seperateFullName(fullName);
    getInitials(firstName, middleName, lastName);
    showResult();
}
    Name name;
    do {
        greet();
        name = new Name(askName());
    } while (name.hasError());
    showInitials(name);
    private static void showResult()
    {
        JOptionPane.showMessageDialog(null, "Your initials are: "
                + firstInitial + "." + middleInitial + "." + lastInitial + ".");
    }
    private static void showInitials(Name name)
    {
        JOptionPane.showMessageDialog(null, "Your initials are: "
                + name.getFirstInitial() + "."
                + name.getMiddleInitial() + "."
                + name.getLastInitial() + ".");
    }
    public char getFirstInitial() {
        return firstName.charAt(0);
    }
    private static void showInitials(Name name)
    {
        StringBuilder message = new StringBuilder("Your initials are:  ");
        for (char initial : getInitials()) {
            message.append(initial);
            message.append('.');
        }

        JOptionPane.showMessageDialog(null, message.toString());
    }
    }
    catch (StringIndexOutOfBoundsException e)
    {
        JOptionPane.showMessageDialog(null, "Invalid input!", null,
                JOptionPane.WARNING_MESSAGE, null);
        start();
    }

How to extract name and surname from Full name

	
$name = "John Smith";
	$firstname = strtok($name, ' ');
	echo $firstname;

	$lastname = strstr($name, ' ');
	echo $lastname;
$name = "John Smith";
	$firstname = strtok($name, ' ');
	echo trim($firstname);

	$lastname = strstr($name, ' ');
	echo trim($lastname);
$name = "John Smith";
$parts = explode(' ', $name);

$firstname = parts[0];
echo trim($firstname); 

$lastname = parts[1];
echo trim($lastname);

$name = "John Smith";

list($firstname, $lastname) = explode(' ', $name);

echo trim($firstname); 
echo trim($lastname);

function splitName($name){
    $names = explode(' ', $name);
    $lastname = $names[count($names) - 1];
    unset($names[count($names) - 1]);
    $firstname = join(' ', $names);
    return $firstname . ' = ' . $lastname;
}
echo splitName('firstname middlename surname');

list($firstname, $middlename, $lastname) = explode(' ', $name);

list($firstname, $middlename, $lastname) = explode(' ', $name);

var $parts = explode(' ', $name);
if (count($parts) === 2) {
    list($firstname, $lastname) = $parts;
} else if (count($parts) === 3) {
    list($firstname, $middlename, $lastname) = $parts;
}

function splitName($name) {
    $parts = explode(' ', $name);
    return array(
        'firstname' => array_shift($parts),
        'lastname' => array_pop($parts),
        'middlename' => join(' ', $parts)
    );
}

LasseRafn / php-initials Public

composer require lasserafn/php-initials
use LasseRafn\Initials\Initials;

echo (new Initials('Lasse Rafn'));                                   // Output: LR
echo (new Initials)->name('Justine Bieber')->generate();             // Output: JB
echo (new Initials('John Christian Doe'))->generate();               // Output: JD
echo (new Initials)->generate('Leonardo');                           // Output: LE
echo (new Initials)->length(1)->generate('Camilla');                 // Output: C
echo (new Initials)->name('Jens Ølsted')->getUrlfriendlyInitials();  // Output: JO
echo new Initials('The Name Here'); // TH
$initials->name('Albert Magnum')->generate();
$initials->name('Albert Magnum')->length(3)->generate();
$initials->name('Albert Magnum')->generate();

Next Lesson PHP Tutorial