您好我想将每个迭代的变量值存储到具有新名称的新变量中。我需要最终的结果是变量而不是数组。
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;
答案 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 %>
稍后您可以访问如下文件名:$data[$i] = $final_filename;