1

我有一个默认按数值按第二列升序排序的表格。

我正在尝试从该表中获取前 5 行,但我的脚本似乎不想遵循我拥有的 tablesorter 强制排序顺序,它只是采用默认的未排序数据。

那么如何让我的脚本获取已排序的表数据呢?我不想为这个脚本抓取所有数据并再次排序。

这是我的代码

<?php 
include("bestbrokers_array.php");
require('simple_html_dom.php'); 

$table = array(); 

$html = file_get_html('http://www.forexfbi.com/best-forex-brokers-comparison/'); 

$num=1;
foreach($html->find('tr') as $row) { 
    if($num <= 6)
{
$rating = $row->find('td',1)->innertext; 
    $name = $row->find('td',0)->plaintext; 



    $table[$name][$rating] = true; 
$num++;
}
} 

html_show_array($table);

?> 

和..

<?php
function do_offset($level){
    $offset = "";             // offset for subarry 
    for ($i=1; $i<$level;$i++){
    $offset = $offset . "<td></td>";
    }
    return $offset;
}

function show_array($array, $level, $sub){
    if (is_array($array) == 1){          // check if input is an array
       foreach($array as $key_val => $value) {
           $offset = "";
           if (is_array($value) == 1){   // array is multidimensional
           echo "<tr>";
           $offset = do_offset($level);
           echo $offset . "<td>" . $key_val . "</td>";
           show_array($value, $level+1, 1);
           }
           else{                        // (sub)array is not multidim
           if ($sub != 1){          // first entry for subarray
               echo "<tr nosub>";
               $offset = do_offset($level);
           }
           $sub = 0;
           echo $offset . "<td main ".$sub." width=\"120\">" . $key_val . 
               "</td>"; 
           echo "</tr>\n";
           }
       } //foreach $array
    }  
    else{ // argument $array is not an array
        return;
    }
}

function html_show_array($array){
  echo "<table cellspacing=\"0\" border=\"2\">\n";
  show_array($array, 1, 0);
  echo "</table>\n";
}
?> 
4

0 回答 0