2017-02-18 3 views
1

Я пишу функцию buildUserName, которая принимает три параметра: $firstName, $middleName, $lastNameПопутных три параметра в функцию PHP возвращающей 0

функция выглядит следующим образом:

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

я называю функцию, как так:

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

Ожидаемый результат:

BobRyanBrown 

Фактический выход:

0 

Почему это? Как мне изменить свой код, чтобы я производил ожидаемый результат?

+0

'+' является добавление в PHP. '.' для конкатенации. – chris85

ответ

2

Не используйте +, может быть, попробовать что-то вроде:

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"); 

Результат будет выглядеть так: BobRyanBrown

0

Функции в php можно использовать echo но это стандарт для использования return. Для конкатенации строк вы должны использовать ., не+ (используется для того), или поместить переменные в двойные кавычки "$var1 $var2 $var3", что-то вроде:

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

echo buildUserName("Pedro", "Guerreiro", "Lobito"); 
0

+ является дополнением, а не конкатенации в PHP. Вместо этого вы должны иметь ..

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

В PHP + используется для добавления. Вы должны использовать . объединить строки, например:

function buildUserName($firstName, $middleName, $lastName) { 
    echo $firstName . $middleName . $lastName; 
} 
Смежные вопросы