Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有For的较短代码_Php - Fatal编程技术网

Php 带有For的较短代码

Php 带有For的较短代码,php,Php,有没有办法缩短代码 If ($Item_1 != "_") { $items1 = explode("_", $Item_1); } Else {} If ($Item_2 != "_") { $items2 = explode("_", $Item_2); } Else {} If ($Item_3 != "_") { $items3 = explode("_", $Item_3); } Else {} If ($Item_4 != "_") { $items4 = explode("_",

有没有办法缩短代码

If ($Item_1 != "_") { $items1 = explode("_", $Item_1); } Else {}
If ($Item_2 != "_") { $items2 = explode("_", $Item_2); } Else {}
If ($Item_3 != "_") { $items3 = explode("_", $Item_3); } Else {}
If ($Item_4 != "_") { $items4 = explode("_", $Item_4); } Else {}
If ($Item_5 != "_") { $items5 = explode("_", $Item_5); } Else {}
If ($Item_6 != "_") { $items6 = explode("_", $Item_6); } Else {}
If ($Item_7 != "_") { $items7 = explode("_", $Item_7); } Else {}
If ($Item_8 != "_") { $items8 = explode("_", $Item_8); } Else {}
If ($Item_9 != "_") { $items9 = explode("_", $Item_9); } Else {}
If ($Item_10 != "_") { $items10 = explode("_", $Item_10); } Else {}
If ($Item_11 != "_") { $items11 = explode("_", $Item_11); } Else {}
If ($Item_12 != "_") { $items12 = explode("_", $Item_12); } Else {}
我尝试用For将其缩短,但不起作用示例:

  For ($i = 1; $i <= 12; $i++) {
    If (${$Item_ . $i} != "_") .... dont work for me :/
}

有什么主意吗?

这个主意很好。您只是在构建变量名时出现了一个小错误。使用以下代码:

for ($i = 1; $i <= 12; $i++) {
    if (${"Item_$i"} != "_") .... should work 
}

这个主意很好。您只是在构建变量名时出现了一个小错误。使用以下代码:

for ($i = 1; $i <= 12; $i++) {
    if (${"Item_$i"} != "_") .... should work 
}
为了清晰起见,请尝试以下方法:

$item_var = "Item_".$i;
If ($$item_var != "_"){}
为了清晰起见,请尝试以下方法:

$item_var = "Item_".$i;
If ($$item_var != "_"){}

如果是var1、var2等,则可能应该使用数组。您也可以轻松地使用循环。

如果是var1、var2等,则可能应该使用数组。您也可以轻松地使用循环。

如果${Item\$i}=_注意:你不需要空的其他{{}块。虽然你有答案,考虑使用数组,这样代码会更清楚。@ VoiCukes为什么不读答案?我提到过这一点@hek2mgl也许你在我输入评论时发布了你的答案,但没有注意到+如果${Item_$i}为您提供1份!=_注意:你不需要空的其他{{}块。虽然你有答案,考虑使用数组,这样代码会更清楚。@ VoiCukes为什么不读答案?我提到过这一点@hek2mgl也许你在我输入评论时发布了你的答案,但没有注意到+1.给你尼斯:这对我很有帮助:谢谢尼斯:这对我很有帮助:谢谢