Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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 重置'内的变量;foreach&x27;环_Php - Fatal编程技术网

Php 重置'内的变量;foreach&x27;环

Php 重置'内的变量;foreach&x27;环,php,Php,由于我的foreach循环中有很多变量,如果我可以一次将它们全部重置,而不是: $variable_one = ''; // Reset to: It is blank for each loop $variable_two = ''; ... $variable_hundred = ''; 如果您的循环中有如此多的变量,您可能应该重构它以使其更简单。如果您确定在一个循环中包含100个变量是一种方法,那么可以使用以下表达式: $variable_one = $variable_two

由于我的
foreach
循环中有很多变量,如果我可以一次将它们全部重置,而不是:

 $variable_one = ''; // Reset to: It is blank for each loop
 $variable_two = '';
 ...
 $variable_hundred = '';

如果您的循环中有如此多的变量,您可能应该重构它以使其更简单。如果您确定在一个循环中包含100个变量是一种方法,那么可以使用以下表达式:

$variable_one = $variable_two = $variable_hundred = '';
这将在很长的一行中将每个变量设置为
'

另一个选项是在单个函数调用中调用所有这些变量:

unset($variable_one, $variable_two, $variable_hundred);

但这不会将它们的值设置为
,而是取消设置变量本身

如果我是你,并且有这些数量的变量,这些变量应该设置为循环中的某个值,我会使用数组来代替:

$arr = ['first value', 'second value','hundred value'];
然后,您可以通过循环中的索引访问所需内容,因此无需使用:

$variable_one
您将使用:

$arr[0]
现在,您希望将它们全部重置,因此可以像下面这样使用array_map():

$arr = array_map(function($val){ return '';}, $arr);

谢谢你。我使用数据库中的大量值进行计算,并在计算之前将每个值存储在一个变量中。在您看来,这不是一个好方法?如果您使用类似于
PDOStatement::execute()
,您可以向它传递一个值数组,要重置数组,您可以使用类似于
$values=[]
的单个语句。