0

我正在尝试制作一个 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 中的函数,所以任何指针都会很棒。

谢谢

4

3 回答 3

3

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

function Clear_Value(&$arg){

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

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

现场示例:http: //ideone.com/igHc5

于 2012-04-23T17:32:00.567 回答
1

你的常数this代表什么?

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

function Clear_Value(&$var){

 $val='NONE';

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

};

还有一件事,如果你想改变一个变量的值,你只用一个“=”。我建议您在 php.net 上查看语法基础知识

对不起我的英语不好

于 2012-04-23T17:37:41.597 回答
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>';
   */
   ?>
于 2012-04-23T17:44:07.230 回答