本帖最后由 rightnow5 于 2013-06-06 20:26:33 编辑

解决方案 »

  1.   


    <?php$setting_clsss = array(
    'blod'=>'5:3,1:2',
    'new1' => '4:2',
    'new2' => '2:2',
    );// 处理成array(行=>array(列=>class))的结构
    $row_class = array();
    foreach($setting_clsss as $key => $value) {
    if(strpos($value, ',') === false) {
    $value .=',';
    }
    foreach(explode(',', $value) as $class) {
    if(!$class) continue;
    list($row, $column) = explode(':', $class);
    $row_class[$row][$column] = $key; // 多个可以用数组表示
    }
    }$links = array(
    array(1, 2),
    array(1, 2),
    array(1, 2),
    array(1, 2),
    array(1, 2, 3),
    );foreach($links as $row=>$link){ //输出一级分类
    $row += 1; //从0开始so+1
        echo '分组链接', $row, ' : ';
        foreach($link as $column=>$id) {    
    //输出二级分类,二级分类有些需要设置图标,获取了用户设置的参数,怎么来判断哪个子分类要添加图标,然后在那个分类输出图片class
    $column += 1; //从0开始so+1
    echo '连接', $column;
    if(isset($row_class[$row][$column])) { 
    echo '-',$row_class[$row][$column];
    }
    echo ' ';
        }
    echo "\n";
    }
      

  2.   

    本帖最后由 xuzuning 于 2013-06-07 11:07:19 编辑
      

  3.   

    把 preg_split('/[,:]/', $r) 写成
    preg_split('/\D+/', $r)
    更具普遍性