我的问题很简单,但我不知道如何在网上找到答案。
我使用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
你能帮我吗?
答案 0 :(得分:1)
您的if / else语法错误:
{if($count=50){$glok=20;}else{$glok=5;}}
更不用说你的代码嗯......凌乱吗?
@edit:正如@ noobie-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;
好的,现在正在运作,谢谢。 我必须学习如何使用函数和匿名函数。以同样的方式,这是我第一次看到“使用”功能,它是完全有用的。