Contoh kasus sederhana ini adalah, kita akan menginput data ke textarea, data yang dimasukkan perbaris, misalkan data KM1020 – KM10145, bila kita menggunakan tag input text terlalu banyak inputan yang membuat halaman penuh dengan form input, salah satu solusinya dengan menggunakan TextArea. Cara untuk memecah tiap baris yang di input di textarea bisa dilihat di script dibawah ini
Form HTML
Contoh form textarea sederhana
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Array HTML - Jaranguda.com</title> </head> <body> <form action="form-array.php" method="POST"> <textarea name="kodeBarcode"></textarea> <br> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>
Script PHP
Dari input textarea di atas, kita akan memecah setiap baris menjadi 1 string, jadi bila orang menginput 20 baris, maka kita akan mendapat 20 string.
<?php $array = explode(PHP_EOL, $_POST['kodeBarcode']); $total = count($array); var_dump($array);
Contoh output
array(32) { [0]=> string(5) "K101 " [1]=> string(5) "K102 " [2]=> string(5) "K103 " [3]=> string(5) "K104 " [4]=> string(4) "123 " [5]=> string(4) "456 " [6]=> string(5) "K105 " [7]=> string(5) "K106 " [8]=> string(5) "K107 " [9]=> string(5) "K108 " [10]=> string(5) "K109 " [11]=> string(5) "K110 " [12]=> string(5) "K111 " [13]=> string(5) "K112 " [14]=> string(5) "K113 " [15]=> string(5) "K114 " [16]=> string(5) "K115 " [17]=> string(5) "K116 " [18]=> string(5) "K117 " [19]=> string(5) "K118 " [20]=> string(5) "K119 " [21]=> string(5) "K120 " [22]=> string(5) "K121 " [23]=> string(5) "K122 " [24]=> string(5) "K123 " [25]=> string(5) "K124 " [26]=> string(5) "K125 " [27]=> string(5) "K126 " [28]=> string(5) "K127 " [29]=> string(5) "K128 " [30]=> string(5) "K129 " [31]=> string(4) "K130" }
untuk memecah array diatas kita menggunakan looping/perulangan foreach
<?php $array = explode(PHP_EOL, $_POST['kodeBarcode']); $total = count($array); foreach($array as $item) { echo $item . "<br>"; }
atau for
<?php $array = explode(PHP_EOL, $_POST['kodeBarcode']); $total = count($array); for ($i=0; $i < $total ; $i++) { echo "$array[$i]" . "<br>"; }
hasil kedua script diatas sama saja ;)