如何使用2个数组显示多维并将其乘以

时间:2015-11-02 14:32:16

标签: php

这是用数组

显示多维度的代码
   <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        $numberArray = array(
            array(1, 2, 3, 4, 7, 6),
            array(2, 3, 1, 0, 5)
        );

        function printTable($numberArray) {
            // Placeholder
            $result = [];

            // Setup the multiplication
            foreach ($numberArray[1] as $key1 => $value1) {
                $tmp = array($value1); // add index y-axis
                foreach ($numberArray[0] as $key0 => $value0) {
                    $tmp[] = $value0 * $value1;
                }
                $result[] = $tmp;
            }

            // Add index the x-axis
            array_unshift($result, array_merge(array(" "), $numberArray[0]));

            // Loop through the $result array and display the table
            echo "<table border='1'>";
            foreach ($result as $key => $value) {
                echo "<tr>";
                foreach ($value as $k => $v) {
                    if ($k == 0 || $key == 0) {
                        echo sprintf("<td><b>%s</b></td>", $v);
                        continue;
                    }
                    echo "<td>$v</td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        }

        ?>

    </body>
</html>

输出示例:https://gyazo.com/2a0a5c07ac75f285f6b8a4631d5b723c

  1. 如何使用数组和答案内部显示多维度将在数字之间相乘。

1 个答案:

答案 0 :(得分:1)

查看您提供的屏幕截图的链接,也许这个设置可以帮助您:

<?php

$numberArray = array(
    array(1, 2, 3, 4, 7, 6),
    array(2, 3, 1, 0, 5)
);

function printTable($numberArray)
{
    // Placeholder
    $result = [];

    // Setup the multiplication
    foreach ($numberArray[1] as $key1 => $value1) {
        $tmp = array($value1); // add index y-axis
        foreach ($numberArray[0] as $key0 => $value0) {
            $tmp[] = $value0 * $value1;
        }
        $result[] = $tmp;
    }

    // Add index the x-axis
    array_unshift($result, array_merge(array(" "), $numberArray[0]));

    // Loop through the $result array and display the table
    echo "<table border='2'>";
    foreach ($result as $key => $value) {
        echo "<tr>";
        foreach ($value as $k => $v) {
            if ($k == 0 || $key == 0) {
                echo sprintf("<td><b>%s</b></td>", $v);
                continue;
            }
            echo "<td>$v</td>";
        }
        echo "</tr>";
    }
    echo "</table>";
}