2011-11-16 11 views
0

私はこの配列をUbercartのorder.tpl.phpファイルの各stdClassオブジェクトの[title]でソートしようとしています。私はちょうど通常の並べ替えをしてみましたが、それらはすべてstdClassオブジェクトなので何もしません。stdClassオブジェクトで配列を並べ替える

<pre>Array 
(
[0] => stdClass Object 
    (
     [order_product_id] => 1157 
     [order_id] => 142 
     [nid] => 38 
     [title] => Eatonville Forest Camping Permit 
     [manufacturer] => 
     [model] => eatonville-camp-permit 
     [qty] => 1 
     [cost] => 9.00000 
     [price] => 10.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 0 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[1] => stdClass Object 
    (
     [order_product_id] => 1158 
     [order_id] => 142 
     [nid] => 35 
     [title] => Eatonville Forest Motorized Recreation Access Permit and Release of Liability 
     [manufacturer] => 
     [model] => eatonville-motor-rec-access 
     [qty] => 1 
     [cost] => 175.00000 
     [price] => 175.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[2] => stdClass Object 
    (
     [order_product_id] => 1159 
     [order_id] => 142 
     [nid] => 31 
     [title] => Snoqualmie Forest Non-motorized Recreation Access Permit for Families and Release of Liability 
     [manufacturer] => 
     [model] => snoqualmie-family-non-motor-rec-access 
     [qty] => 1 
     [cost] => 150.00000 
     [price] => 150.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[3] => stdClass Object 
    (
     [order_product_id] => 1160 
     [order_id] => 142 
     [nid] => 40 
     [title] => Snoqualmie Forest Camping Permit 
     [manufacturer] => 
     [model] => snoqualmie-camp-permit 
     [qty] => 1 
     [cost] => 300.00000 
     [price] => 300.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[4] => stdClass Object 
    (
     [order_product_id] => 1161 
     [order_id] => 142 
     [nid] => 39 
     [title] => White River Forest Camping Permit 
     [manufacturer] => 
     [model] => whiteriver-camp-permit 
     [qty] => 1 
     [cost] => 300.00000 
     [price] => 300.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[5] => stdClass Object 
    (
     [order_product_id] => 1162 
     [order_id] => 142 
     [nid] => 30 
     [title] => White River Forest Family Non-motorized Recreation Access Permit for Families and Release of Liability 
     [manufacturer] => 
     [model] => whiteriver-family-non-motor-rec-access 
     [qty] => 1 
     [cost] => 150.00000 
     [price] => 150.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[6] => stdClass Object 
    (
     [order_product_id] => 1163 
     [order_id] => 142 
     [nid] => 33 
     [title] => White River Forest Non-motorized Recreation Access Permit for Individuals and Release of Liability 
     [manufacturer] => 
     [model] => whiteriver-non-motor-rec-access 
     [qty] => 1 
     [cost] => 75.00000 
     [price] => 75.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 

[7] => stdClass Object 
    (
     [order_product_id] => 1164 
     [order_id] => 142 
     [nid] => 34 
     [title] => Snoqualmie Forest Non-motorized Recreation Access Permit for Individuals and Release of Liability 
     [manufacturer] => 
     [model] => snoqualmie-non-motor-rec-access 
     [qty] => 1 
     [cost] => 75.00000 
     [price] => 75.00000 
     [weight] => 0 
     [data] => Array 
      (
       [attributes] => Array 
        (
        ) 

       [shippable] => 1 
       [restrict_qty] => 1 
       [module] => uc_product 
      ) 

     [order_uid] => 13 
    ) 
)</pre> 

これはorder.tpl.phpに

<pre>php if (is_array($order->products)) { 
         $context = array(
          'revision' => 'formatted', 
          'type' => 'order_product', 
          'subject' => array(
          'order' => $order, 
         ), 
         ); 
} 
</pre> 

答えて

2

を、それを制御するコード私はusort()が動作するはずだと思うです:

function sortByTitle($a, $b){ 
    return strcmp($a->title, $b->title); 
} 

usort($theArray, 'sortByTitle'); 

あなたが作るために、いくつかのチェックでスローすることをお勧めします実際にはtitleのメンバーが存在することを確認してください。

+0

それが動作します!どうもありがとうございました – xeraseth