解决方案 »

  1.   


    $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
    print_r(array_rand($a,1));
      

  2.   

    超级奇怪!
    //网上找到的function~官方函数不支持二维
    function shuffle_assoc($list) {   
      if (!is_array($list)) return $list;   
      $keys = array_keys($list);   
      shuffle($keys);   
      $random = array();   
      foreach ($keys as $key)   
        $random[$key] = $list[$key];   
      return $random;   
    }   //test
    $row = "SELECT `title`,`id` FROM `content` ORDER BY `time` DESC limit 15";
    $stmt = $pdo->prepare($row);
    $stmt->execute();
    $row_v = $stmt->fetchAll(PDO::FETCH_ASSOC);print_r($row);
    $row2 = shuffle_assoc($row);
    echo "<HR>";
    print_r($row2);
    $smarty -> assign("row_v",$row2);
    $row是本身的
    $row2是shuffle_assoc打乱的print_r 出来 $row2是有打乱的但是为什么 $smarty -> assign("row_v",$row2);  赋值到smarty....却不会产生任何变化? 
    PS: 此时已关闭CACHE, 也清空了cache和compile文件这是什么地方引起的?附上HTML~是最基本的没什么特別 {section name=list loop=$row_v}
    <li>
    <span>
    <a href="{$row_v[list].id}.html">{$row_v[list].title}</a>
    </span>
    </li>
    {/section}
      

  3.   

    <a href="{$row_v[list].id}.html">{$row_v[list].title}</a>
    你不是按固定顺序输出第二维的吗?
      

  4.   

    $row  = 最新15条  desc$row2 = 最新15条 desc  打乱 我只把$row2(已打乱排序的array) 赋值到smarty
    $smarty -> assign("row_v",$row2);为什么section 的row_v 会是没有打乱排序的?section会自动重新排序?
      

  5.   

    $row  = 最新15条  desc$row2 = 最新15条 desc  打乱 我只把$row2(已打乱排序的array) 赋值到smarty
    $smarty -> assign("row_v",$row2);为什么section 的row_v 会是没有打乱排序的?section会自动重新排序?推一下
    大家知道这是为什么吗?