2017-02-22 6 views
1

Ich bin mir bewusst, dass es verschiedene Fragen zu diesem Thema gibt, aber die meisten betreffen assoziative Arrays usw. Ich muss 2 Arrays/Matrizen zusammenfügen und den resultierenden Wert erhalten.Addition von 2 separaten multidimensionalen Arrays PHP

dh:

<?php 

$matrixa = array(
    array($a1,$b1), 
    array($c1, $d1) 
); 
$matrixb = array(
    array($a2,$b2), 
    array($c2, $d2) 
); 

for ($i=0; $i<2; $i++){ 
    for ($j=0; $j<2; $j++){ 
     $matresult[$i][$j] = $matrixa[$i][$j] + $matrixb[$i][$j];        
    }        
} 

//which essentially produces: 
// $matrixc = array(
//  array($matrixa[0][0]+$matrixb[0][0], $matrixa[0][1]+ $matrixb[0][1]), 
//  array($matrixa[1][0]+$matrixb[1][0], $matrixa[1][1]+ $matrixb[1][1]) 
// ); 

?> 

Matrix C wird für irgendeine Art von Benutzereingaben verificiation verwendet werden, aber meine Frage ist, wie kann ich drucken MatrixA und MatrixB, so dass sie in folgendem Format innerhalb einer Zeile von erscheinen HTML-Code:

[x, y] or x y 
[x, y] x y 

Etwas wie:

<p>What is <?php echo $matrixa; ?> + <?php echo $matrixb; ?> ?</p> 

Diese Anweisung gibt zur Zeit 'Was ist ARRAY + ARRAY?' Aus.

@RomanPerekhrest EDIT - ich Mathjax in meinem Code bin verwendet, so habe ich mich gefragt, ob es eine Methode war, die weniger ausführlich war als:

<p>What is `[[ 
    <?php echo $matrixa[0][0]; ?> &nbsp;&nbsp; <?php echo $matrixa [0][1];?>               
    ],[ 
    <?php echo $matrixa[1][0]; ?> &nbsp;&nbsp; <?php echo $matrixa [1][1];?> 
    ]]` + `[[ 
    <?php echo $matrixb[0][0]; ?> &nbsp;&nbsp; <?php echo $matrixb [0][1];?>               
    ],[ 
    <?php echo $matrixb[1][0]; ?> &nbsp;&nbsp; <?php echo $matrixb [1][1];?> 
    ]]` ? 
</p> 
+0

'

Was ist + ?

' – RomanPerekhrest

+0

@RomanPerekrest, danke für Ihre schnelle Antwort. Bitte sehen Sie meine Bearbeitung. – Kieran

Antwort

1

Es ist (fast) immer eine weniger ausführliche Methode, Dinge zu tun .

<?php 
// functions for outputting inner and outer structure of matrices 
$inner = function($in){return '[ '.implode(' &nbsp;&nbsp; ', $in).' ]';}; 
$outer = function($in) use ($inner){return implode(',', array_map($inner, $in));}; 
?> 
<p> 
    <?php echo 'What is `['.$outer($matrixa).']` + `['.$outer($matrixb). ']` ?'; ?> 
</p> 

Frage ist, ob es sich lohnt, für solch einen kleinen Datensatz zu tun. Die zweite Sache ist Code Lesbarkeit/Verständlichkeit. Ein Beispiel für eine solche Lösung in einem Projekt ist verzeihlich, fast schon süß, aber wenn dies zum Standard wird, kann es für Nicht-Autoren des Codes und auch für Sie eine Hölle sein.

Verwandte Themen