将循环迭代变量存储到新的递增变量中

时间:2015-08-03 13:51:16

标签: php arrays

您好我想将每个迭代的变量值存储到具有新名称的新变量中。我需要最终的结果是变量而不是数组。

FOR LOOP:

for($i = 0;$i < count($_FILES['file']['name']);$i++) {
$file = rand(1000,100000)."-".$_FILES['file']['name'][$i];
$new_file_name = strtolower($file);
$final_file=str_replace(' ','-',$new_file_name);     
}

在这个循环中,我需要这样的东西:

$data1 = $final_file;

每当循环进行时,$ data1应该增加名称。

最后它应该生成这样的东西:

$data1 = $final_file; - final_file have value of the first loop iteration
$data2 = $final_file; - final_file have value of the second loop iteration
$data3 = $final_file; - ....
$data4 = $final_file;
$data5 = $final_file;

2 个答案:

答案 0 :(得分:1)

动态设置变量可以使用额外的$

来完成
$i = 1;
$variable_name = 'data' . $i;
$$variable_name = 'my value';

之后,代码$data1将设置为&#34;我的值&#34;。

但是,我建议您使用带有值的数组。

答案 1 :(得分:0)

$ data应该是一个数组。使用<% @collection.photos.each do |photo| %> <div> <%= image_tag photo.image.thumb('400x300#').url %> </div> <% end %>

在for循环中填充数组

稍后您可以访问如下文件名:$data[$i] = $final_filename;