我只发现了如何使用子数组值对数组进行排序的问题,但我想知道您是否可以使用子数组值对子数组进行排序。
foreach ($el->getArray('plain') as $element){
foreach ($element as $data)
{
<?php echo $data['name']; ?>
<?php echo $data['value']; ?>
}
}
我认为最好的解决方案是通过执行实例化$ array:
$array = $el->getArray('plain');
在foreach之前然后立即对其进行排序,然后循环遍历它。
但是,我不确定您是否可以在数组中对数组进行排序。首先,这是可能的,其次你会怎么做?
答案 0 :(得分:1)
根据我上面的评论,停止过度思考:
public void DoUpload(DriveInfo sel, IProgress<UploadStep> progress)
{
// Check that there is a device selected
if (sel != null)
{
progress.Report(new UploadStep { Message = "First Task..." });
// Generate List of images to upload
var files = Directory.EnumerateFiles(sel.Name, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".jpeg") || s.EndsWith(".jpg") || s.EndsWith(".png"));
if (files.Count() > 0)
{
// Manage each image
foreach (string item in files)
{
// Generate thumbnail byte array
Thumbnails.Add(new ByteImage { Image = GenerateThumbnailBinary(item) });
}
progress.Report(new UploadStep { Message = "Generated Thumnails..." });
foreach (string item in files)
{
// Generate new name
Filenames.Add(
new NFile
{
OldName = Path.GetFileNameWithoutExtension(item),
NewName = Common.Security.KeyGenerator.GetUniqueKey(32)
});
}
progress.Report(new UploadStep { Message = "Uplaoding to database..." });
}
}
}
注意r / q / p数组现在变成了p / q / r - 它已被排序,即使它是一个嵌套在另一个数组中的数组。