PHP функция возвращает 0? - PullRequest
       1

PHP функция возвращает 0?

5 голосов
/ 18 февраля 2012

хорошо, поэтому я создаю систему входа в систему php и хотел простой способ получить ссылку на страницу выхода из системы, вызвав функцию, но она продолжает возвращать 0. Он моя функция:

function logout_link() {
include("auth_vars.php"); //This file contains $auth_path_login
return $auth_path_login+"?status=loggedout";}

иВот как я его использую:

<a href="<?php echo logout_link();?>">logout</a>

Однако он продолжает производить:

<a href="0">logout</a>

Что идет не так?

Ответы [ 5 ]

18 голосов
/ 18 февраля 2012

Оператор для конкатенации строк: ., а не +.

См. http://www.php.net/manual/en/language.operators.string.php

7 голосов
/ 18 февраля 2012

В PHP . является оператором конкатенации, а + является либо сложением, либо оператором для объединения массивов.Поскольку вы объединяете + с простыми типами (не массивами), PHP преуменьшает оба значения до числового значения.В твоем случае это просто 0+0

6 голосов
/ 18 февраля 2012

PHP использует . для объединения строк, а не +.

Попробуйте вместо этого:

function logout_link() {
   include("auth_vars.php"); //This file contains $auth_path_login
   return $auth_path_login . "?status=loggedout";
}
5 голосов
/ 18 февраля 2012

Ваш код PHP неверен.Должно быть:

function logout_link() {
include("auth_vars.php"); //This file contains $auth_path_login
return $auth_path_login."?status=loggedout";
}
3 голосов
/ 18 февраля 2012

Вы имели в виду:

return $auth_path_login."?status=loggedout";

Оператор конкатенации . в PHP.

...