簡體   English   中英

PHP多維數組訪問函數

[英]PHP multidimensional arrays accessing function

我正在嘗試實現一個函數來乘以兩個數值多維數組,我執行了三個循環迭代相應的行和列。 然而,有些事情在那里失敗了。

PHP只是沒有生成任何網頁 ,每當我評論功能代碼和調用它的函數失敗時......

function multiplicaMatriz($matrix1, $matrix2){

    $ab = 0;

    echo "<table border="1">";
        for($i = 0; $i < 3; $i++) {
            echo "<tr>";
            for($j = 0; $j < 3; $j++) {
                $ab = 0;
                for($k = 0; $k < 3; $k++) {
                    $ab += (($matrix1[$i][$k])*($matrix2[$k][$j]));
                }
                echo "<td>".$ab."</td>";
            }
            echo "</tr>";
        }
    echo "</table>";
}

我的其余代碼在這里:

<html>
    <head>
        <title>
        Novatos del PHP
        </title>
    </head>

    <body> <center>



    <?php


        $m1 = array (   array (rand(0,100), rand(0,100), rand(0,100)), 
                        array (rand(0,100), rand(0,100), rand(0,100)), 
                        array (rand(0,100), rand(0,100), rand(0,100)), 
                        //array (rand(0,100), rand(0,100), rand(0,100))
                    );


        $m2 = array (   array (rand(0,100), rand(0,100), rand(0,100)), 
                        array (rand(0,100), rand(0,100), rand(0,100)), 
                        array (rand(0,100), rand(0,100), rand(0,100)), 
                        //array (rand(0,100), rand(0,100), rand(0,100))
                    );

        function imprimeMatriz($matrix){
            echo "<table width=\"200\" border=\"1\">";

            foreach($matrix as $row =>$rValue){
                echo "<tr>";
                foreach($rValue as $col =>$cValue){
                    echo "<td>".$cValue."</td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        }

        function sumaMatriz($matrix1, $matrix2){
                echo "<table width=\"200\" border=\"1\">";

                foreach($matrix1 as $row1 =>$rValue1){
                        echo "<tr>";
                        foreach($rValue1 as $col1 =>$cValue1)
                                echo "<td>".($cValue1+$matrix2[$row1][$col1])."</td>";
                        echo "</tr>";
                }
                echo "</table>";
        }

        function multiplicaMatriz($matrix1, $matrix2){

            $ab = 0;

            echo "<table border="1">";
                for($i = 0; $i < 3; $i++) {
                    echo "<tr>";
                    for($j = 0; $j < 3; $j++) {
                        $ab = 0;
                        for($k = 0; $k < 3; $k++) {
                            $ab += (($matrix1[$i][$k])*($matrix2[$k][$j]));
                        }
                        echo "<td>".$ab."</td>";
                    }
                    echo "</tr>";
                }
            echo "</table>";
        }       


        print "<h2>Matriz 1</h2>";
        imprimeMatriz($m1);

        print "<br>";

        print "<h2>Matriz 2</h2>";
        imprimeMatriz($m2);

        print "<br>";

        print "<h2>Suma de matrices</h2>";
        sumaMatriz($m1, $m2);

        print "<br>";

        print "<h2>Suma de matrices</h2>";
        multiplicaMatriz($m1, $m2);

    ?>


     </center> </body>

</html>

你忘了逃避"在線57.你可能想要打開一些錯誤報告,以便你了解導致失敗的原因:)

error_reporting(E_ERROR | E_WARNING | E_PARSE);

要修復代碼,請更改:

echo "<table border="1">";

至:

echo "<table border=\"1\">";

迭戈,這是你真正的代碼,逐字節,你只需要將它復制到一些PHP IDE,你會看到問題是什么。

function multiplicaMatriz($matrix1, $matrix2){
    $ab = 0;
    echo "<table border="1">"; // <-- Look here, you messed up your quotes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM