如何将变量的值更改为if并保存

时间:2014-01-13 14:22:03

标签: php variables if-statement

我的问题很简单,但我不知道如何在网上找到答案。

我使用stat IF来修改一个变量的值,但我不知道当我离开循环时如何保存它...

这是一个例子。

$count = 50;
$glok=10;
$patterns = array(
    "bin/httpd" => array(
                         'nom' => 'APACHE', 
                         'instance' => function() {if($count=50){$glok=20;}else{$glok=5;}}, 
                         'package' => 'apache2'),
    "vsftpd" => array(
                         'nom' =>  'Very Secure FTP Daemon',
                         'instance' => null,
                         'package' => 'vsftpd-dbg'),
    "train" => array(
                         'nom' =>  'TurboMotor',
                         'instance' => function() {if($count=50){$glok=200;}else{$glok=50;}},
                         'package' => 'mirror'),
    "baim" => array(
                         'nom' =>  'Douche',
                         'instance' => function() {if($count=50){$glok=2000;}else{$glok=500;}},
                         'package' => 'dTrombe'),
);


foreach ($patterns as $cmd => $valuearr){
    if ($valuearr['instance']) {
        $valuearr['instance']();
    }
    print $glok;
}

这个editor的结果给了我10101010,我想拥有20202002000

你能帮我吗?

3 个答案:

答案 0 :(得分:1)

您的if / else语法错误:

 {if($count=50){$glok=20;}else{$glok=5;}}

更不用说你的代码嗯......凌乱吗?

@edit:正如@ n​​oobie-php提到的正确代码:

{if($count==50){$glok=20;}else{$glok=5;}}

答案 1 :(得分:1)

您在if子句中设置值。请改用==或===。

是的,重新设计代码=)这绝不是最好的方法。

答案 2 :(得分:0)

$count = 50;
$glok=10;
$patterns = array(
    "bin/httpd" => array(
        'nom' => 'APACHE', 
        'instance' => function($count, $glok) use (&$glok) {
            if($count==50){
                $glok=20;
            }
            else{
                $glok=5;
            }
        }, 
        'package' => 'apache2'),
    "vsftpd" => array(
        'nom' =>  'Very Secure FTP Daemon',
        'instance' => null,
        'package' => 'vsftpd-dbg'),
    "train" => array(
        'nom' =>  'TurboMotor',
        'instance' => function($count, $glok) use (&$glok) {
            if($count==50){
                $glok=200;
            }
            else{
                $glok=50;
            }
        }, 
        'package' => 'mirror'),
    "baim" => array(
        'nom' =>  'Douche',
        'instance' => null,
        'package' => 'dTrombe'),
);

$patterns['bin/httpd']['instance']($count, $glok);
    print $glok;

好的,现在正在运作,谢谢。 我必须学习如何使用函数和匿名函数。以同样的方式,这是我第一次看到“使用”功能,它是完全有用的。