两次相同的6行代码
Two times the same 6 lines of code
我的 PHP 代码中有两次相同的 5 行代码:
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
// another code
// ...
// another code
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
这样的人可以避免重复吗?
@BEGINNING BLAH
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
@END BLAH
// another code
// ...
// another code
@INSERT BLAH
当然,我可以定义一个新的 function
,但是在这里,我必须定义 global
变量(我应该在使用 [= 调用函数本身之前预先定义变量吗? 13=]?), 等等
这就是为什么我在寻找在这种情况下是否存在比 function
更短的东西,比如 PREPROCESSOR copy/paste.
可能有很多可以接受的解决方案,但只有一个:
// Here is the function doing the repetitive work
function blah(){
do_something1();
$myvar1 = something1();
do_something_else2();;
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
return array($myvar1,$myvar2,$myvar3);
}
// Now for the usage matching your above case
list($myvar1,$myvar2,$myvar3) = blah();
// another code
// ...
// another code
list($myvar1,$myvar2,$myvar3) = blah();
列表可能是一个非常有用的 php 函数 - http://php.net/manual/en/function.list.php
是这样的吗?只需将您的代码放在 $var1 所在的位置,并将 for 行中间的数字更改为您希望它执行的迭代次数。
for ($i=1; $i<=2; $i++) {
$var1 = "";
}
我的 PHP 代码中有两次相同的 5 行代码:
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
// another code
// ...
// another code
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
这样的人可以避免重复吗?
@BEGINNING BLAH
do_something1();
$myvar1 = something1();
do_something_else2();
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
@END BLAH
// another code
// ...
// another code
@INSERT BLAH
当然,我可以定义一个新的 function
,但是在这里,我必须定义 global
变量(我应该在使用 [= 调用函数本身之前预先定义变量吗? 13=]?), 等等
这就是为什么我在寻找在这种情况下是否存在比 function
更短的东西,比如 PREPROCESSOR copy/paste.
可能有很多可以接受的解决方案,但只有一个:
// Here is the function doing the repetitive work
function blah(){
do_something1();
$myvar1 = something1();
do_something_else2();;
$myvar2 = something2();
do_something_else3();
$myvar3 = something3();
return array($myvar1,$myvar2,$myvar3);
}
// Now for the usage matching your above case
list($myvar1,$myvar2,$myvar3) = blah();
// another code
// ...
// another code
list($myvar1,$myvar2,$myvar3) = blah();
列表可能是一个非常有用的 php 函数 - http://php.net/manual/en/function.list.php
是这样的吗?只需将您的代码放在 $var1 所在的位置,并将 for 行中间的数字更改为您希望它执行的迭代次数。
for ($i=1; $i<=2; $i++) {
$var1 = "";
}