PHP对混合字符串和int值

时间:2016-07-01 12:15:53

标签: php sorting multidimensional-array

我有一个多维数组,用于保存从AWS S3获取的图像的信息,但是当我得到它们时,它们的排序纯粹就像按字母顺序排序。

假设我有22个图像,它们都是这样命名的:.35-aname-0.jpg,下一个是.35-aname-1.jpg等等,名字相同。然而,当我得到它们时,我会这样得到它们:

  • 0.35 - aname-0.jpg
  • 0.35 - aname-1.JPG
  • 0.35 - aname-10.JPG
  • 0.35 - aname-11.JPG
  • 0.35 - aname-2.JPG

我需要将它们归还,以便它们按顺序排列:

  • 0.35 - aname-0.jpg
  • 0.35 - aname-0.jpg
  • 0.35 - aname-1.JPG
  • 0.35 - aname-2.JPG
  • 0.35 - aname-10.JPG
  • 0.35 - aname-11.JPG

我怎样才能使它不像纯粹按字母顺序排序,而是使用数字规则?

我的数组包含较小的数组,每个数组都有文件名,图像链接和名称。

我尝试了多种内置排序方法,但我不确定我是否正确使用它们,如果没有,如何将它们与多维数组一起使用。看起来最有希望的,实际看起来应该产生正确结果的是natcasesort,但这没有做任何事情。

我真的希望你们有个好主意:)。

1 个答案:

答案 0 :(得分:0)

为什么你不得到最后一个int explode(。)然后爆炸( - )在数组中添加所有的int然后在你添加其余的字符串之后对其进行排序;

ps:你可以循环使用var $ name
例如:

      $name= explode(".",".35-aname-10.jpg");

      $var=explode("-",$name[1]);

      $array[]=$var[2];

      then you sort the array

      loop and add ".35-aname-".$array[loopindex].".jpg";