0

我遇到了一个问题。我有一个包含类别的 json 数组,我需要该数组应根据类别名称按字母顺序排序。这是我的代码。

  • 控制器

    $post = file_get_contents("............");
    $model = CJSON::decode($post, true);
    
            function cmp($a, $b)
            {
                //echo "<pre>  a: ";print_r($a);die;
                return strcmp($a["name"], $b["name"]);
            }
            usort($model, "cmp");
            $this->render('index',array('model'=>$model));
    
  • 查看页面

                                $options = array();
                                    foreach ($model as $user) :
    
                                        foreach($user as $use):
    
                                            $options[$use['id']] = $use['name'];
    
                                        endforeach;
                                    endforeach;
    
                            echo CHtml::dropDownList('mySelect', 'name', $options,array('prompt'=>'------Select--------'));
    
    
                        ?>
                </div>
            </div>
    

$模型

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => SMALL PATCHES
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => BIG PATCHES
                )

            [2] => Array
                (
                    [id] => 3
                    [name] => CUSTOM PATCHES
                )

            [3] => Array
                (
                    [id] => 4
                    [name] => EVENT PATCHES
                )

            [4] => Array
                (
                    [id] => 5
                    [name] => BLANK PATCHES
                )

            [5] => Array
                (
                    [id] => 6
                    [name] => USS PATCHES
                )

            [6] => Array
                (
                    [id] => 7
                    [name] => FLAGS
                )

        )

)

请帮我解决这个问题......等待回复......

4

1 回答 1

0

我得到了答案 我只是做了一个小改动

控制器

$post = file_get_contents("...........");
        $model = CJSON::decode($post, true);

        function cmp($a, $b)
        {
            return strcmp($a["name"], $b["name"]);
        }
        uasort($model['categories'], "cmp");
        $this->render('index',array('model'=>$model));
于 2016-07-21T08:53:12.030 回答