【问题标题】:Can not get the function returning value using PHP无法使用PHP获取函数返回值
【发布时间】:2016-02-13 10:33:32
【问题描述】:

我需要一个帮助。我无法使用 PHP 获取函数返回的值。我在下面解释我的代码。

<?php
  function encrypt($id){
    $key=md5('onlinepharmacy', true);
    $id = base_convert($id, 10, 36); // Save some space
    $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb');
    $data = bin2hex($data);
    return $data;
}

?>

<a href="health.php?h_i=<?php encrypt(12) ?>" class="detall">Go for Details</a>

从上面的代码我没有得到h_i value。它是空白的。我需要设置查询字符串值(h_i=)但无法获取。请帮我解决这个问题。

【问题讨论】:

  • 打印出来:&lt;?php echo encrypt(12) ?&gt;
  • 您可以将其简化为&lt;?= encrypt(12) ?&gt;,这样更紧凑、更易于阅读。
  • 我会说 echo 自己更容易阅读

标签: php query-string


【解决方案1】:

当你从函数返回值时,你需要使用 echo() 来显示它。 // 在你的情况下

如果你不想在 html 中使用 echo,那么你必须从函数中 echo() 值而不是返回它。

function encrypt($id){
    $key=md5('onlinepharmacy', true);
    $id = base_convert($id, 10, 36); // Save some space
    $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb');
    $data = bin2hex($data);`enter code here`
    echo $data;
}
<a href="health.php?h_i=<?php encrypt(12) ?>" class="detall">Go for Details</a>

【讨论】:

    【解决方案2】:

    缺少 end 语句语法,您应该将返回的值分配给一个变量,以防您希望再次使用它。使更新和扩展变得容易的良好做法。

    查看下面的工作代码;

    function encrypt($id){
        $key=md5('onlinepharmacy', true);
        $id = base_convert($id, 10, 36); // Save some space
        $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb');
        $data = bin2hex($data);`enter code here`
        return $data;
    }
    <a href="health.php?h_i=<?php echo encrypt(12); ?>" class="detall">Go for Details</a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2014-01-08
      • 1970-01-01
      • 2022-11-23
      • 2014-04-01
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多