【问题标题】:php function returning 0?php函数返回0?
【发布时间】:2012-03-09 18:10:20
【问题描述】:

好的,所以我正在创建一个 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>

怎么了?

【问题讨论】:

  • auth_vars.php 包含什么确切
  • 在 PHP 中使用 . 连接字符串,而不是 +
  • 在没有看到 auth_vars.php 的情况下不能说更多,但看起来该文件中的某些内容可能返回 0。尝试将包含移动到文件顶部而不是函数内部。编辑:@Pekka 是对的,那是你的问题。
  • 谢谢,将 + 更改为 .工作

标签: php html function login return


【解决方案1】:

PHP 使用. 连接字符串,而不是+

试试这个:

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

【讨论】:

    【解决方案2】:

    你的意思是:

    return $auth_path_login."?status=loggedout";
    

    连接运算符在 PHP 中是 .

    【讨论】:

      【解决方案3】:

      在 PHP 中,. 是连接运算符,+ 是加法或合并数组的运算符。因为您将+ 与简单类型(不是数组)结合在一起,所以PHP 将这两个值都向下转换为数值。在你的情况下,它只是0+0

      【讨论】:

        【解决方案4】:

        您的 PHP 代码不正确。应该是:

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

        【讨论】:

        • @luke:注意“。”而不是“+”。算术运算符 "+" 将 logout_link() 转换为数值函数...返回结果 "0"。
        【解决方案5】:

        字符串连接的运算符是.,而不是+

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

        【讨论】:

        • 这是一个常见的错误;当我从 Java 切换到 PHP 时,有时仍然会发生这种情况。
        猜你喜欢
        • 2011-06-26
        • 2015-12-03
        • 1970-01-01
        • 2017-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-22
        • 1970-01-01
        相关资源
        最近更新 更多