Magento - 对包含数字

时间:2015-04-30 08:16:09

标签: php magento sorting

我是编程网站的新手,所以这可能是一个愚蠢的问题。我的产品名称包含一个数字。这本身不是问题,Magento的排序是。

Magento分类如下:

  • 产品10
  • 产品11
  • 产品12
  • 产品1
  • 产品2
  • 产品3

我希望它像这样排序:

  • 产品1
  • 产品2
  • 产品3
  • 产品10
  • 产品11
  • 产品12

有可能解决这个问题吗?或者我被迫使用0。

2 个答案:

答案 0 :(得分:1)

    $product_names_array = array("Product 12","Product 11", "Product 10", "Product 1", "Product 2", "Product 3");
    natsort($product_names_array);
    print_r($product_names_array);

Output:

Array
(
    [3] => Product 1
    [4] => Product 2
    [5] => Product 3
    [2] => Product 10
    [1] => Product 11
    [0] => Product 12
)

答案 1 :(得分:0)

$product_names_array = array("Product 12","Product 11", "Product 10", "Product 1", "Product 2", "Product 3", );

foreach($product_names_array as $product_names_array_value) {    
    $product_number = preg_replace('/\D/s', '', $product_names_array_value);
    $sorted_array[$product_number] = $product_names_array_value;  
    ksort($sorted_array);
}