PHP;在单行上操纵多个变量?
基本问题真的,我知道我可以用其他一些语言来做这件事,但我不太懂PHP,希望有人能帮我 所以我有以下几点PHP;在单行上操纵多个变量?,php,arrays,variables,Php,Arrays,Variables,基本问题真的,我知道我可以用其他一些语言来做这件事,但我不太懂PHP,希望有人能帮我 所以我有以下几点 $holyToT *=100; $coldToT *=100; $fireToT *=100; $poisonToT *=100; $lightningToT *=100; 我想把它浓缩成这样: $holyToT、$coldToT、$fireToT、$Toxintot、$lightningToT*=100 PHP是否有一种内部方式来做类似的事情?没有语法允许您在一条语句中完全做到这一点 你可
$holyToT *=100;
$coldToT *=100;
$fireToT *=100;
$poisonToT *=100;
$lightningToT *=100;
我想把它浓缩成这样:
$holyToT、$coldToT、$fireToT、$Toxintot、$lightningToT*=100代码>
PHP是否有一种内部方式来做类似的事情?没有语法允许您在一条语句中完全做到这一点
你可以想出这样做的方法(把所有的东西都放在一个数组中),但是结果远不如一组作业那么清晰和有效
我想到了类似的事情,但如果他们发现你这么做,不要说你是从我这里听到的:
extract(array_map(
function($i) { return $i * 100; },
compact('holyToT', 'coldToT', 'fireToT' /*, ... */ )
));
没有语法允许您在一条语句中完全执行此操作
你可以想出这样做的方法(把所有的东西都放在一个数组中),但是结果远不如一组作业那么清晰和有效
我想到了类似的事情,但如果他们发现你这么做,不要说你是从我这里听到的:
extract(array_map(
function($i) { return $i * 100; },
compact('holyToT', 'coldToT', 'fireToT' /*, ... */ )
));
我同意其他人的观点,但如果你真的想把它放在一行中,你可以这样做:
list($holyToT, $coldToT, $fireToT, $poisonToT, $lightningToT) = array_map(function($x) { return $x*100;}, array($holyToT, $coldToT, $fireToT, $poisonToT, $lightningToT));
我同意其他人的观点,但如果你真的想把它放在一行中,你可以这样做:
list($holyToT, $coldToT, $fireToT, $poisonToT, $lightningToT) = array_map(function($x) { return $x*100;}, array($holyToT, $coldToT, $fireToT, $poisonToT, $lightningToT));
有ni内置功能。根据PHP版本的不同,可以将数组和lambda函数传递给自定义函数
function performOnAll(array $a, $fct) {
foreach($a as $v) $fct(&$a);
}
performOnAll(array($a, $b, ...), function(&$a) { $a *= 100; });
基本上就是这样(没有语法检查) 有ni内置功能。根据PHP版本的不同,可以将数组和lambda函数传递给自定义函数
function performOnAll(array $a, $fct) {
foreach($a as $v) $fct(&$a);
}
performOnAll(array($a, $b, ...), function(&$a) { $a *= 100; });
基本上就是这样(没有语法检查) 不,没有。您可以级联普通的赋值,但不能与运算符级联赋值。您可以编写一个小的代码片段,以减少代码行数,但代价是复杂性(可能是可维护性)。不,它不会。你可以级联普通的赋值,但不能与运算符一起级联赋值。你可以编写一个小的代码片段,减少代码行数,但代价是复杂性(可能是可维护性)是的,我很害怕。如果这是唯一的其他选择,我想我会坚持使用这个小集合的代码块。是的,我很害怕。如果这是唯一的其他选择,我想我会坚持使用这个小集合的代码块。