php页面中
$title="中国人|中国地|中国话"
$nums="2|4|3";这二个变量的值是对应的,( | 分开的都是三个值),
现想通过 $nums中的值从大到小,也就是 4|3|2 来输出,同时,$title也要想对应的输出 中国地|中国话|中国人
怎么实现呀,thanks

解决方案 »

  1.   

    你发了2个啊?
    http://topic.csdn.net/u/20100513/15/cf7eb15c-3a72-4813-8086-d04d95722d99.html
      

  2.   


    $title = "中国人|中国地|中国话";
    $nums  = "2|4|3";$t = explode('|',$title);array_multisort(explode('|',$nums ),SORT_DESC,$t);echo implode('|',$t);
      

  3.   

    切割字符串为数组($title, $nums都要切割)
    循环执行排序,一个调整,另一个也就是$title用于$nums排序相同的方法进行排序,到最后将数组implode()成一个字符串就好了
      

  4.   


    $title = "中国人|中国地|中国话";
    $nums  = "2|4|3";$t = explode('|',$title);
    $n = explode('|',$nums);
    array_multisort($n, SORT_DESC, SORT_NUMERIC, $t);echo implode('|',$t);
    echo implode('|',$n);
      

  5.   


    $title = "中国人|中国地|中国话";
    $nums  = "2|4|3";$arr_title = explode('|', $title);
    $arr_nums = explode('|', $nums);$arr = array_combine($arr_nums, $arr_title);
    ksort($arr, true);
    $arr_title = array_values($arr);
    $arr_nums = array_keys($arr);$title = implode('|', $arr_title);
    $nums = implode('|', $arr_nums);
    echo $title;
    echo '<br>';
    echo $nums;
      

  6.   

    多谢大家
    $arr['title']="中国人|中国地|中国话";
    $arr['nums']="2|4|3";
    $nums = explode('|',$arr['nums']);
    $title = explode('|',$arr['title']);
    $a = array();
    for($i=0;$i<count($nums);$i++)
    {
     $a[$nums[$i]] = $title[$i];
    }
    echo $rs;
    //ksort($a);
    krsort($a);
    foreach($a as $b)
    {  
     echo $b;
    }
    可以,