Daftar dan Belajar Sekarang!

Menggabungkan array dengan perulangan

foto ambangku
9 Kontribusi 0 Coto
2 bulan yang lalu
Script
<?php
//akun
$akun1 = [1,2,3];
$akun2 = ['Sulawesi','Jawa','Jawa'];
$akun3 = [100,200,300];
$akun4 = [300,200,100];
//kelompok
$kelompok1 = ['1.1','1.2','2.1','3.1'];
$kelompok2 = ['Sulawesi Selatan','Sulawesi Barat','Jawa Timur','Jawa Barat'];
$kelompok3 = [30,40,50,60,70];
$kelompok4 = [70,60,50,40,30];
//jenis
$jenis1 = ['1.1.1','1.2.1','.2.1.1','2.1.2','3.1.1'];
$jenis2 = ['Makassar','Maros','Surabaya','Malang','Bandung'];
$jenis3 = [1,2,3,4,5];
$jenis4 = [5,4,3,2,1];
//gabung
$gabungArray = array (
	array ($akun1[0],$akun2[0],$akun3[0],$akun4[0]),
	array ($akun1[1],$akun2[1],$akun3[1],$akun4[1]),
	array ($akun1[2],$akun2[2],$akun3[2],$akun4[2]),
	array ($kelompok1[0],$kelompok2[0],$kelompok3[0],$kelompok4[0]),
	array ($kelompok1[1],$kelompok2[1],$kelompok3[1],$kelompok4[1]),
	array ($kelompok1[2],$kelompok2[2],$kelompok3[2],$kelompok4[2]),
	array ($kelompok1[3],$kelompok2[3],$kelompok3[3],$kelompok4[3]),
	array ($jenis1[0],$jenis2[0],$jenis3[0],$jenis4[0]),
	array ($jenis1[1],$jenis2[1],$jenis3[1],$jenis4[1]),
	array ($jenis1[2],$jenis2[2],$jenis3[2],$jenis4[2]),
	array ($jenis1[3],$jenis2[3],$jenis3[3],$jenis4[3]),
	array ($jenis1[4],$jenis2[4],$jenis3[4],$jenis4[4])
);
//cetak
for($baris=0;$baris<count($gabungArray);$baris++)
{
 for($kolom=0;$kolom<count($gabungArray[$baris]);$kolom++)
 {
  echo $gabungArray[$baris][$kolom]."   ";
 }
 echo "<br>";
}

?>
output: 1 Sulawesi 100 300 2 Jawa 200 200 3 Jawa 300 100 1.1 Sulawesi Selatan 30 70 1.2 Sulawesi Barat 40 60 2.1 Jawa Timur 50 50 3.1 Jawa Barat 60 40 1.1.1 Makassar 1 5 1.2.1 Maros 2 4 .2.1.1 Surabaya 3 3 2.1.2 Malang 4 2 3.1.1 Bandung 5 1 Saya menggabungkan array dengan cara seperti ini
$gabungArray = array (
	array ($akun1[0],$akun2[0],$akun3[0],$akun4[0]),
	array ($akun1[1],$akun2[1],$akun3[1],$akun4[1]),
	array ($akun1[2],$akun2[2],$akun3[2],$akun4[2]),
	array ($kelompok1[0],$kelompok2[0],$kelompok3[0],$kelompok4[0]),
	array ($kelompok1[1],$kelompok2[1],$kelompok3[1],$kelompok4[1]),
	array ($kelompok1[2],$kelompok2[2],$kelompok3[2],$kelompok4[2]),
	array ($kelompok1[3],$kelompok2[3],$kelompok3[3],$kelompok4[3]),
	array ($jenis1[0],$jenis2[0],$jenis3[0],$jenis4[0]),
	array ($jenis1[1],$jenis2[1],$jenis3[1],$jenis4[1]),
	array ($jenis1[2],$jenis2[2],$jenis3[2],$jenis4[2]),
	array ($jenis1[3],$jenis2[3],$jenis3[3],$jenis4[3]),
	array ($jenis1[4],$jenis2[4],$jenis3[4],$jenis4[4])
);
bagaimana menyingkat penulisan dengan perulangan sehingga bisa seperti ini
$gabungArray = array ( //looping
	array ($akun1[$i],$akun2[$i],$akun3[$i],$akun4[$i]),
	array ($kelompok1[$i],$kelompok2[$i],$kelompok3[$i],$kelompok4[$i]),
	array ($jenis1[$i],$jenis2[$i],$jenis3[$i],$jenis4[$i])
//end looping
);

Tag: php


Jawaban
foto ridwantanjung
30 Kontribusi 11 Coto
2 bulan yang lalu
Saya Asumsikan nilai dari masing2 array konsisten, tidak lebih dan kurang.
<?php
/**
 * Dummy array
 */
$akun1 = ['0 - akun1 ',  '1 - akun1', '2 - akun1'];
$akun2 = ['0 - akun2 ',  '1 - akun2', '2 - akun2'];
$akun3 = ['0 - akun3 ',  '1 - akun3', '2 - akun3'];


function gabungArray(...$ArrayArgs){
// initial variable gabung dengan array kosong
$gabung = [];
// hitung jumlah array yang ada di masuka pada argument
$i = count($ArrayArgs);
    // buat push array kosong ke dalam variable yg di deklarasikan sebelumnya,
    // untuk menginisialisasikan index yg nnti nya akan
    // diisi sesuai index nya
    while ($i > 0) {
        array_push($gabung,[]);
        $i--;
    }
    // loop array Argument
    foreach($ArrayArgs as $key=>$val){
        // cek apakah argument bertype array
        if(is_array($ArrayArgs[$key])){
            // looping masing2 array yang dimasukan kedalam argument
            foreach ($ArrayArgs[$key] as $key2 => $val) {
                // push ke dalam wrapper array, susuai key nya
                array_push($gabung[$key2], $val);
            }
        }
    }
    // return
    return $gabung;
}
var_dump(gabungArray($akun1,$akun2,$akun3));
/**
 * Ouput
 * ---------------------------------------------
 * array (size=3)                               |
 * 0 =>                                         |                     
 *   array (size=3)                             |
 *     0 => string '0 - akun1 ' (length=10)     | 
 *     1 => string '0 - akun2 ' (length=10)     |
 *     2 => string '0 - akun3 ' (length=10)     |
 * 1 =>                                         |
 *   array (size=3)                             |
 *     0 => string '1 - akun1' (length=9)       |
 *     1 => string '1 - akun2' (length=9)       |
 *     2 => string '1 - akun3' (length=9)       |
 * 2 =>                                         |
 *   array (size=3)                             |
 *     0 => string '2 - akun1' (length=9)       |
 *     1 => string '2 - akun2' (length=9)       |
 *     2 => string '2 - akun3' (length=9)       |
 * ---------------------------------------------
 */

foto ambangku
9 Kontribusi 0 Coto
2 bulan yang lalu
Script nya begini
<?php
//akun
$akun1 = [1,2,3];
$akun2 = ['Sulawesi','Jawa','Jawa'];
$akun3 = [100,200,300];
$akun4 = [300,200,100];
//kelompok
$kelompok1 = ['1.1','1.2','2.1','3.1'];
$kelompok2 = ['Sulawesi Selatan','Sulawesi Barat','Jawa Timur','Jawa Barat'];
$kelompok3 = [30,40,50,60,70];
$kelompok4 = [70,60,50,40,30];
//jenis
$jenis1 = ['1.1.1','1.2.1','.2.1.1','2.1.2','3.1.1'];
$jenis2 = ['Makassar','Maros','Surabaya','Malang','Bandung'];
$jenis3 = [1,2,3,4,5];
$jenis4 = [5,4,3,2,1];
//gabung
$gabungArray = array (
	array ($akun1[0],$akun2[0],$akun3[0],$akun4[0]),
	array ($akun1[1],$akun2[1],$akun3[1],$akun4[1]),
	array ($akun1[2],$akun2[2],$akun3[2],$akun4[2]),
	array ($kelompok1[0],$kelompok2[0],$kelompok3[0],$kelompok4[0]),
	array ($kelompok1[1],$kelompok2[1],$kelompok3[1],$kelompok4[1]),
	array ($kelompok1[2],$kelompok2[2],$kelompok3[2],$kelompok4[2]),
	array ($kelompok1[3],$kelompok2[3],$kelompok3[3],$kelompok4[3]),
	array ($jenis1[0],$jenis2[0],$jenis3[0],$jenis4[0]),
	array ($jenis1[1],$jenis2[1],$jenis3[1],$jenis4[1]),
	array ($jenis1[2],$jenis2[2],$jenis3[2],$jenis4[2]),
	array ($jenis1[3],$jenis2[3],$jenis3[3],$jenis4[3]),
	array ($jenis1[4],$jenis2[4],$jenis3[4],$jenis4[4])
);
//cetak
for($baris=0;$baris<count($gabungArray);$baris++)
{
 for($kolom=0;$kolom<count($gabungArray[$baris]);$kolom++)
 {
  echo $gabungArray[$baris][$kolom]."   ";
 }
 echo "<br>";
}

?>
output 1 Sulawesi 100 300 2 Jawa 200 200 3 Jawa 300 100 1.1 Sulawesi Selatan 30 70 1.2 Sulawesi Barat 40 60 2.1 Jawa Timur 50 50 3.1 Jawa Barat 60 40 1.1.1 Makassar 1 5 1.2.1 Maros 2 4 .2.1.1 Surabaya 3 3 2.1.2 Malang 4 2 3.1.1 Bandung 5 1

foto mjamilasfihani
3 Kontribusi 0 Coto
2 bulan yang lalu
jadiin ke array multidimensi aja gan, ntar langsung di perulangan. lebih simple


Login untuk diksusi di forum sekolah koding