简体   繁体   中英

How to sum each column on the table PHP

I want to sum each column on this table:

$docid = array(1, 2, 3, 4, 5);
        $table = array('technology' => 1 , 'languange' => 2, 'town' => 3, 'gadget' => 4, 'smartphone' => 5);
        echo "<table><tr><th>Token/Document</th>";
        $count = count($table);
        $doc_count = count($docid);
        for($i=1; $i<=$count; $i++)
        {
            echo "<th>Doc.$i</th>";
        }
        foreach($table as $key=>$value)
        {
            echo "<tr><td>$key</td>";
            for($i=0; $i<$doc_count;$i++)
            {
                $random = rand(1, 8);
                echo "<td>$random</td>";
            }
        }
        echo "</tr><td>RESULT</td>";
        for($i=0; $i<$doc_count;$i++)
        {
            echo "<td>...(what should i use?)...</td>";
        }
        echo "</tr></table>";

Example:

=============================================

| Token/Document | Doc.1 | Doc.2 | Doc.3 | Doc.4 | Doc.5 |

=============================================

| technology...........|....5.....|....7.....|....4.....|....2.....|....1.....|

| language.............|....6.....|....8.....|....1.....|....5.....|....5.....|

| town....................|....5.....|....3.....|....2.....|....7.....|....6.....|

| gadget.................|....4.....|....1.....|....2.....|....4.....|....8.....|

| smartphone.........|....3.....|....7.....|....3.....|....1.....|....2.....|

=============================================

RESULT...............|....23....|....26....|....12....|....19....| 22....|

How to sum each column?

you could do something like this

$sum = 0;
for($i=0; $i<count($your_array); $i++)
{
    //your codes
    $sum += $values; //values to be summed up
}

echo "Total = ". $sum;

I hope this helps.

You need to store each $random so you can total them in the final row.

$random = rand(1, 8);
$results[$i][] = $random;  // store $random value in array

Then total the array using array_sum()

echo "<td>".array_sum($results[$i])."</td>";

    $docid = array(1, 2, 3, 4, 5);
    $table = array('technology' => 1 , 'languange' => 2, 'town' => 3, 'gadget' => 4, 'smartphone' => 5);
    echo "<table><tr><th>Token/Document</th>";
    $count = count($table);
    $doc_count = count($docid);
    for($i=1; $i<=$count; $i++)
    {
        echo "<th>Doc.$i</th>";
    }
    foreach($table as $key=>$value)
    {
        echo "<tr><td>$key</td>";
        for($i=0; $i<$doc_count;$i++)
        {
            $random = rand(1, 8);
            $results[$i][] = $random; // save in array for totaling
            echo "<td>$random</td>";
        }
    }
    echo "</tr><td>RESULT</td>";
    for($i=0; $i<$doc_count;$i++)
    {
        echo "<td>".array_sum($results[$i])."</td>"; // total array using array_sum()
    }
    echo "</tr></table>";

phpfiddle - http://phpfiddle.org/main/code/psy-ejm

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM