1

I'm writing a function buildUserName that receives three parameters: $firstName, $middleName, $lastName

The function looks like this:

function buildUserName($firstName, $middleName, $lastName) {
    echo $firstName + $middleName + $lastName;
} 

I call the function like so:

buildUserName("Bob", "Ryan", "Brown");

Expected output:

BobRyanBrown

Actual Output:

0

Why is this? How do I change my code so that I produce the expected output?

chris85
  • 23,846
  • 7
  • 34
  • 51
Kōdo no musō-ka
  • 769
  • 1
  • 8
  • 23

4 Answers4

2

Don't use +, maybe try something like:

function buildUserName($firstName, $middleName, $lastName) {
    $Name = "";
    if(isset($firstName)){
     $Name .= $firstName
    }
    if(isset($middleName)){
     $Name .= $middleName
    }
    if(isset($lastName)){
     $Name .= $lastName
    }
    return $Name;
} 
echo buildUserName("Bob", "Ryan", "Brown");

Result would be: BobRyanBrown

JustBaron
  • 2,319
  • 7
  • 25
  • 37
0

Functions in php can use echo but it's standard to use return. To concatenate strings you should use ., not + (used for addition), or put the variables inside double quotes "$var1 $var2 $var3", something like:

function buildUserName($firstName, $middleName, $lastName) {
    return "$firstName $middleName $lastName";
} 

echo buildUserName("Pedro", "Guerreiro", "Lobito");
Pedro Lobito
  • 94,083
  • 31
  • 258
  • 268
0

+ is addition, not string concatenation in PHP. You'd want to have . instead.

function buildUserName($firstName, $middleName, $lastName) {
    echo $firstName . $middleName . $lastName;
} 
James Paterson
  • 2,652
  • 3
  • 27
  • 40
0

In PHP + is used for addition. You have to use . to combine strings, like this:

function buildUserName($firstName, $middleName, $lastName) {
    echo $firstName . $middleName . $lastName;
} 
Hapstyx
  • 127
  • 7