使用可以使用任何变量的泛型函数检查php变量

时间:2012-04-23 17:27:40

标签: php

我正在尝试创建一个包含变量的PHP函数,该变量将检查变量值,如果它与另一个变量匹配则更改它。 我确定我做错了,但是......

这是我到目前为止所拥有的:

<?php 

function Clear_Value(){

    $val='NONE';

    if(this== $val){ this=='';}

    };

$one    = 'One';
$two    = 'Two';
$three  = 'NONE';
$four   = 'Four';

Clear_Value($one);
Clear_Value($two);
Clear_Value($three);
Clear_Value($four);

echo $one.'<br>';
echo $two.'<br>';
echo $three.'<br>';
echo $four.'<br>';

?>

我想要的输出是:

One
Two

Four

我希望这很清楚。我还在学习php中的函数,所以任何指针都会很棒。

由于

3 个答案:

答案 0 :(得分:3)

您需要通过引用传递参数:

function Clear_Value(&$arg){

    if ($arg == 'NONE') $arg = '';
}

这样,函数可以修改变量的内容。

实例:http://ideone.com/igHc5

答案 1 :(得分:1)

你的这个代表什么?

你必须在你的函数中创建一些输入变量并使用&amp; 前缀(指内存中的变量)

function Clear_Value(&$var){

 $val='NONE';

 if($var == $val) 
  $var = '';

};

另一件事,如果你想改变一个变量的值,你只需使用单个“=”。我建议你在php.net上看到语法基础

  

抱歉我的英文

答案 2 :(得分:1)

我不确定你在这里的期望。

但是当你执行这个程序时,它会显示未定义的变量错误。

尝试我的示例更改代码: -

 <?php 

   function Clear_Value($sam){

   $val='NONE';

   if($sam== $val){ $sam=='';}
   echo $sam.'<br>';

   };

   $one    = 'One';
   $two    = 'Two';
   $three  = 'NONE';
   $four   = 'Four';

   Clear_Value($one);
   Clear_Value($two);
   Clear_Value($three);
   Clear_Value($four);
   /*
   echo $one.'<br>';
   echo $two.'<br>';
   echo $three.'<br>';
   echo $four.'<br>';
   */
   ?>