Membuat matriks dengan array php

berikut adalah program matriks dengan php ,untuk menggambarkan array multidimensi di php

di sini ada 3 file yaitu form matriks,hasil matriks,dan function matriks

formmatriks.php

<!DOCTYPE HTML>
<?php
/*
Nama Program : Formmatriks(Main Program)
*/
?>
<html>
<head>
<title> Form Matriks </title>
<style type="text/css">
label{
float:left;
width:100px;
}
</style>
</head>
<body>
<form method="post" action="hasilmatriks.php" name="form1">
<table>
<tr>
<td>&nbsp;</td>
<td>Baris</td>
<td>Kolom</td>
</tr>
<tr>
<td>Matriks1</td><td><input type="text" name="baris1" size="5"/></td><td><input type="text" name="kolom1" size="5"/></td>
</tr>
<tr>
<td>Matriks2</td><td><input type="text" name="baris2" size="5"/></td><td><input type="text" name="kolom2" size="5"/></td>
</tr>
</table>
<input type="submit" name="sub" value="Submit"/>
<input type="hidden" name="proses" value="form1"/>
<br /><br />
<p><b>(* Hanya angka</b></p>
</form>
</body>
</html>

funcmatriks.php

<?php
/*
Nama Program : funcmatriks
Useful progran : Function for formmatriks.php and hasilmatriks.php
*/
function buatFormMasukkan($nama,$baris,$kolom){
echo "Matriks $nama<br>";
echo "<input type=hidden name=baris".$nama." value=$baris />";
echo "<input type=hidden name=kolom".$nama." value=$kolom />";
if(is_numeric($baris) && is_numeric($kolom)){
for($i=0;$i<$baris;$i++){
for($j=0;$j<$kolom;$j++){
echo "<input name=".$nama."[] type=text size=5 /> ";
}
echo '<br>';
}
}
else{
header('location:formmatriks.php');
}
}
function masukData($m1,$type){
global $m1_baris,$m1_kolom;
global $m2_baris,$m2_kolom;
$nama=array();
$var=0;
if($type==1){
$baris=$m1_baris;
$kolom=$m1_kolom;
}
else{
$baris=$m2_baris;
$kolom=$m2_kolom;
}
for($i=0;$i<$baris;$i++){
for($j=0;$j<$kolom;$j++){
$nama[$i][$j]=$m1[$var];
$var++;
}
}
return $nama;
}
function jumlah($m1,$m2){
global $m1_baris,$m1_kolom;
$hasil=array();
for($i=0;$i<$m1_baris;$i++){
for($j=0;$j<$m1_kolom;$j++){
@$hasil[$i][$j]=$m1[$i][$j]+$m2[$i][$j];
}
}
return $hasil;
}
function kurang($m1,$m2){
global $m1_baris,$m1_kolom;
$hasil=array();
for($i=0;$i<$m1_baris;$i++){
for($j=0;$j<$m1_kolom;$j++){
@$hasil[$i][$j]=$m1[$i][$j]-$m2[$i][$j];
}
}
return $hasil;
}
function tampil($hasil,$type){
global $m1_baris,$m1_kolom;
global $m2_baris,$m2_kolom;
$nama=array();
if($type==1){
$baris=$m1_baris;
$kolom=$m1_kolom;
}
else{
$baris=$m2_baris;
$kolom=$m2_kolom;
}
echo "Matriks $type<br>";
foreach($hasil as $value){
foreach($value as $nilai){
echo " [".$nilai."] ";
}
echo '<br>';
}
}
?>

hasilmatriks.php

<?php
/*
Nama Program : hasilmatriks.php
*/
require 'funcmatriks.php';
if(isset($_POST['proses']) && $_POST['proses']=='form1'){
$baris1=$_POST['baris1'];
$kolom1=$_POST['kolom1'];
$baris2=$_POST['baris2'];
$kolom2=$_POST['kolom2'];
if(empty($baris1) && empty($baris2) && empty($kolom1) && empty($kolom2)){
$baris1=2;
$kolom1=2;
$baris2=2;
$kolom2=2;
}
if(!isset($_POST['proses2']) && @$_POST['proses2']!='form2'){
?>
<form name="form2" action="" method="post">
<?php
buatFormMasukkan('m1',$baris1,$kolom1);
buatFormMasukkan('m2',$baris2,$kolom2);
?>
<input type="submit" name="sub2" value="Hitung" />&nbsp;&nbsp;
<select name="aksi">
<option value="jumlah">Penjumlahan</option>
<option value="kurang">Pengurangan</option>
</select>
<input type="hidden" name="proses2" value="form2" />
</form>
<?php
}
}
if(isset($_POST['proses2']) && $_POST['proses2']=='form2'){
$m1_baris=$_POST['barism1'];
$m1_kolom=$_POST['kolomm1'];
$m2_baris=$_POST['barism2'];
$m2_kolom=$_POST['kolomm2'];
$operasi=$_POST['aksi'];
$m1=$_POST['m1'];
$m2=$_POST['m2'];
$m1_has=masukData($m1,1);
$m2_has=masukData($m2,2);
if($operasi=='jumlah'){
$hasilawl=jumlah($m1_has,$m2_has);
}
else{
$hasilawl=kurang($m1_has,$m2_has);
}

tampil($m1_has,1);

tampil ($m2_has,2);

tampil($hasilawl,"Hasil");
}
?>

Penjelasan kode

saya akan menjelaskan kode di bagian ini

function masukData($m1,$type){
global $m1_baris,$m1_kolom;
global $m2_baris,$m2_kolom;
$nama=array();
$var=0;
if($type==1){
$baris=$m1_baris;
$kolom=$m1_kolom;
}
else{
$baris=$m2_baris;
$kolom=$m2_kolom;
}
for($i=0;$i<$baris;$i++){
for($j=0;$j<$kolom;$j++){
$nama[$i][$j]=$m1[$var];
$var++;
}
}
return $nama;
}

nah maksud disini kita akan mengembalikan variable $nama dalam bentuk array .tujuan kita membuat variable $var=0 yaitu untuk mengambil nilai array dari formmasukkan yaitu m1 dan m2.kalo kita lihat setelah di input angka untuk proses perhitungan m1 akan menjadi m1=array(input1,input2,input2…input-ke-n) ini adalah array tunggal,begitu juga m2,jadi kita tidak mungkin menggunakan $i dan $j untuk menjadi index nya.oleh sebab itu kita buat variable lagi yaitu $var