PHP如何在没有echo的情况下返回变量

时间:2014-04-02 13:07:55

标签: php function variables return

我想从我的php函数返回一个或另一个字符串变量。
我不希望在函数中回显字符串,我只想返回变量,然后在代码中输出它 以下代码代表我的代码(简化):

<?php
$a = NULL;
$b = NULL;
myFunction($this);
function myFunction($this) {
   if($this === a) {
       return $a = "its a";
   }else{
       return $another = "its something else";
   }
}
?>
<html>
   MARKUP
   <?php echo $a; ?>
   <?php echo $b; ?>

3 个答案:

答案 0 :(得分:5)

我认为你误解了如何运作功能。

function myFunction($this, $a) {
   if($this === $a) {
       return "its a";
   }else{
       return "its something else";
   }
}
$result = myFunction($this, $a);

我想你想这样做

答案 1 :(得分:2)

$store_var_value = myFunction($this);

您可以将返回值保存在变量中以便以后使用。

答案 2 :(得分:0)

作为对所有其他答案的补充,我认为您的问题可能是您从未定义$this,如果您从未将其存储在任何地方,您计划如何在以后回复myFunction(...)的值? 如果我理解您正在尝试正确执行的操作,则此代码应该有效:

<?php
$a = NULL;
$b = NULL;
$another = NULL;
$aaa = myFunction($this);
function myFunction($that)
{
  $result = -1;
  if($that === $a)
  {
    $a = "it's the good 'n old a";
    $result = 0;
  }
  else
  {
    $another = "Hey it's someone else";
    $result = 1;
  }
  return result;
}
?>
<div id="div a">
<?php
if($aaa == 0)
{
  echo $a;
}
?> 
</div>
<div id="div b">
<?php
if($aaa == 1)
{
  echo $another;
}
?>
</div>