编程,使用gloabal变量的逻辑

时间:2015-07-27 09:51:05

标签: php logic

假设我有一个函数add()。

function add(){
 if (a)
  return true;
 if (b)
  return true;
 if (c)
  insert into table. 
  return true;
 }

现在我调用这个函数add(),我想只在有条件C的插入执行时递增我的计数器。我也不想改变返回值,这是真的。现在我的问题是我怎样才能知道C部分是否被执行? 我以为我可以在条件c中使用全局变量,如下所示

if (c)
{
 insert into table. 
 $added = true;
 return true;
}

然后我检查

if(isset($added && $added==true))
$count++;

但我想知道我是否可以添加任何参数或我可以使用的其他方法?

2 个答案:

答案 0 :(得分:0)

在插入周围添加if,并添加一个计数器作为参数:

$count = 0;
function add(&$count){
 if (a)
  return true;
 if (b)
  return true;
 if (c)
  if(insert into table){ //Queries return a boolean
    $count++;
  } 
  return true;
}

add($count); //If insertion was succesful it added 1 to counter.
echo $count; //Returns either 1 or 0 depending on insert statement.

答案 1 :(得分:0)

您可以通过引用传递参数。在PHP中,这是通过在英镑符号前加{({1}})来完成的。结果是你的函数没有得到值的副本,而是一个引用原始值的变量,所以你可以在函数内部改变它。

&

在你的主叫代码中

function add(&$itemsAdded)
{
    $itemsAdded = 0;
    [...]
    /* if added something */
    $itemsAdded++;
}