Menggabungkan Kata atau Teks Pada PHP

Pada kesempatan kali ini kita akan membahas cara untuk menggabungkan kata/string, teks maupun kalimat dengan PHP.  Pembahasan  mencakup  penggabungan string/kata dengan string,  string dengan bentuk lain seperti  variabel, array, function, dll serta  disinggung sedikit mengenai penggabungan string yang ada di dalam array.

1. Menggunakan titik (.)

Dalam PHP, titik atau dot  dapat digunakan  untuk menggabungkan:

  • string dengan string.
  • string  dengan  variabel.
  • string dengan fungsi.

Contoh:

<?php
// Antar string
echo 'Menggabungkan Kata ' . ' atau kalimat dengan PHP';
echo 'Hari Jum\'at ' . " atau Jum\"at? ";  // Terdapat tanda ' atau " pada string
echo "Hari Jum'at " . ' atau Jum"at? ';  // Terdapat tanda ' atau " pada string

// String dengan variabel
$nama = 'agusph';
$alamat = 'Solo';
echo 'Nama ' . $nama . ', alamat ' . $alamat; // Dengan satu tanda kutip 
echo "Nama $nama, alamat $alamat"; // Dengan dua tanda kutip

// String dengan fungsi
function totalHarga($qty)
{
	return 5000 * $qty;
}
$nama = 'Fulan';
echo strtoupper($nama) . ' membeli barang dengan biaya ' . totalHarga(10);

disamping contoh diatas, terdapat cara lain untuk menggabungkan string dengan fungsi  yaitu terlebih dahulu menyimpan nama fungsi kedalam variabel. contoh:

<?php
// String dengan fungsi
function totalHarga($qty)
{
	return 5000 * $qty;
}
$nama    = 'Fulan';
$fungsi1 = 'strtoupper';
$fungsi2 = 'totalHarga';
echo "{$fungsi1($nama)} membeli sejumlah barang dengan total harga {$fungsi2(10)}";

contoh diatas menghasilkan output FULAN membeli sejumlah barang dengan total harga 50000

2.  Menggunakan titik  diikuti sama dengan (.=)

Cara lain untuk menggabungkan string yaitu dengan menggunakan tanda  .= contoh:

<?php
$bulan_arr = array('1'=>'Januari', 
					'Februari', 
					'Maret' , 
					'April' , 
					'Mei', 
					'Juni', 
					'Juli', 
					'Agustus', 
					'September', 
					'Oktober', 
					'November', 
					'Desember'
				);
		
$nama_bulan = '';
foreach ($bulan_arr as $bulan) {
	$nama_bulan .= $bulan . ', ';
}
echo $nama_bulan;

contoh diatas akan menghasilkan output:  Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember, Perhatikan baris 16, pada baris tersebut kita definisikan variabel $nama_bulan, jika tidak maka akan muncul pesan  Notice: Undefined variable: nama_bulan in E:\xampp-1.8.3.2\htdocs\tutorial\string2.php on line 18  hal tersebut terjadi karena ketika PHP menjalankan  .= (pada line 18) ,  PHP akan mencari variabel $nama_bulan untuk digabungkan nilainya, yang jika tidak ditemukan akan muncul pesan peringatan.

Pesan peringatan  tersebut dapat dihilangkan dengan menambahkan tanda @ sehingga baris 18 menjadi @$nama_bulan .= $bulan . ', '; namun sebaiknya sebisa mungkin hindari cara  tersebut karena

  • Menurut saya pribadi bukan praktek yang baik, karena  orang lain yang membaca kode kita tidak akan tahu error apa yang terjadi jika tidak ada tanda tersebut.
  • Walaupun menggunakan @  Error / Notice sebenarnya masih ada, namun disembunyikan. Error / Notice ini menyebabkan waktu eksekusi program lebih lama.
  • Daripada menggunakan @  lebih baik menggunakan perintah  error_reporting(E_ALL & ~E_NOTICE)

Contoh lain penggunaan .= adalah ketika menuliskan perintah SQL yang melibatkan  variabel dinamis, contoh dibawah diasumsikan variabel $range  bersifat dinamis, diperoleh ketika user mengklik submit pada form.

<?php
$range = array ('01', '02', '03'); // Bulan Januari, Februari dan Maret
$sql   = 'SELECT * FROM sales WHERE ';
foreach ($range as $bulan) {
	$sql .= 'bulan = "'.$bulan.'" OR ';
}
$sql = trim($sql, 'OR ');
echo $sql;

contoh diatas akan menghasilkan output:  SELECT * FROM sales WHERE bulan = “01” OR bulan = “02” OR bulan = “03”

3. Menggabungkan string yang ada di dalam array

Penggabungan antar string/kata yang ada di dalam array dapat dilakukan dengan menggunakan fungsi implode atau join. Agar tidak terlalu panjang dan tetap fokus, penggunaan kedua fungsi tersebut dibahas pada artikel tersendiri:  Menggabungkan string/kata pada array dengan PHP

Demikian pembahasan mengenai penggabungan  string atau kata dengan PHP, artikel berikut ini juga berkaitan  dengan penggabungan string:

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

49 Feedback dari pembaca

  • echo ”.$x.”;

    jika saya ingin menambahkan karakter titik dua (:) di depan $x pada value, gimana caranya ya mas?

  • saya mau bertanya bagaimana cara mendapatkan nilai kemiripan antar kalimat. berapa nilai dari masing-masing kalimat . terimakasih

    • Secara singkat, dapat menggunakan fungsi similar_text(), levenshtein(), atau soundex() mas. Bahasa pemrograman susah mengikuti logika kemiripan pada akal manusia, namun demikian, bisa dicoba dengan membuat fungsi tersendiri sesuai dengan kondisi yang diinginkan.

      • saya punya kalimat dari 1,2,3,4,5,6,7,8,9,10
        yang ingin saya tanyakan lagi itu , bagaimana cara agar 10 kalimat itu ditampilkan sebagai berikut :
        1,2,3,4,5,6,7,8,9,10
        1,3,4,5,6,7,8,9,10
        1,4,5,6,7,8,9,10
        1,5,6,7,8,9,10
        dan seterusnya . terima kasih

        • Coba pakai ini mas:

          <?php
          $teks 	= '1,2,3,4,5,6,7,8,9,10';
          $arr	= explode(',', $teks); // ubah teks menjadi array yang berisi angka
          $len	= count($arr); // hitung banyaknya array
          
          echo join($arr, ',') . '<br>'; // atau echo $teks;
          for ($i=1; $i<$len; $i++)
          {
          	unset($arr[$i]);
          	echo join($arr, ',') . '<br>';
          }

          Hasil:

          1,2,3,4,5,6,7,8,9,10
          1,3,4,5,6,7,8,9,10
          1,4,5,6,7,8,9,10
          1,5,6,7,8,9,10
          1,6,7,8,9,10
          1,7,8,9,10
          1,8,9,10
          1,9,10
          1,10
          1
          • Terimakasih mas nanti saya coba. Mungkin kalau ada hal yang ingin saya tanyakan lagi saya komen lagi. Terimakasih masukannya mas

  • 2,3,4,5,6,7,8,9,10
    2,4,5,6,7,8,9,10
    2,5,6,7,8,9,10
    2,6,7,8,9,10
    2,7,8,9,10
    2,8,9,10
    2,9,10
    2,10
    2
    dan seterusnya hingga :
    9 10
    10
    berarti code yang perlu di perbaikin atau di tambahkan pada bagian “for” dan “if” nya ya mas ?
    terimakasih
    maaf sebelumnya banyak bertanya

  • sudah ketemu mas
    maksud saya seperti ini :
    2,3,4,5,6,7,8,9,10
    2,4,5,6,7,8,9,10
    2,5,6,7,8,9,10
    2,6,7,8,9,10
    2,7,8,9,10
    2,8,9,10
    2,9,10
    2,10

    tetapi kalau ingin membuat seperti ini :
    2,3
    2,4
    2,5
    2,6
    2,7
    2,8
    2,9
    2,10

    pada bagian ini yang perlu ditambahkan code lagi mas “$len = count($arr); // hitung banyaknya array ”

    Terimakasih.

    • Coba gunakan script ini mas:

      <?php
      $teks 	= '2,3,4,5,6,7,8,9,10';
      $arr	= explode(',', $teks); // ubah teks menjadi array yang berisi angka
      $len	= count($arr); // hitung banyaknya array
      
      for ($i=1; $i<$len; $i++)
      {
      	echo $arr[0] . ', ' . $arr[$i] . '<br>';
      }
      ?>
  • mas sy ingin melakukan eksport database ke excel
    isi kolomnya seperti ni

        $sheet->setCellValue('G'.$i, $dd);
        $sheet->setCellValue('H'.$i, $mm);
        $sheet->setCellValue('I'.$i, $yyyy);

    cara meggabungkan ketiga kolom tersebut menjadi 1 kolom bagaiman mas
    misalkan nanti hasilnya di kolom A isinya $dd, $mm, $yyyy

  • Mas saya mau tanya, gimana caranya saya upload file excel outputnya berbentuk json,
    di button upload nya bagaimana ya, saya buta sekali mas php mohon pencerahannya terima kasih..

    • Intinya, upload file excel biasa mas, selanjutnya di server, baca file excel tersebut menggunakan PHP, untuk membacanya, bisa menggunakan berbagai library excel reader, selanjutnya buat datanya menjadi array, dari array tersebut ubah menjadi JSON menggunakan fungsi json_encode

      • Mas, saya kirim email, mohon bantuannya ya buat file terlampir, terima kasih..

    • Intinya, upload file excel biasa mas, selanjutnya di server, baca file excel tersebut menggunakan PHP, untuk membacanya, bisa menggunakan berbagai library excel reader, selanjutnya buat datanya menjadi array, dari array tersebut ubah menjadi JSON menggunakan fungsi json_encode

    • Intinya, upload file excel biasa mas, selanjutnya di server, baca file excel tersebut menggunakan PHP, untuk membacanya, bisa menggunakan berbagai library excel reader, selanjutnya buat datanya menjadi array, dari array tersebut ubah menjadi JSON menggunakan fungsi json_encode

  • mas, bisa jelasin kaga ? tentang dua kali syntax for di php tu dimana ?
    ex : for ( $=a; $<=b; $++) {
    for ( $=a; $<=b; $++)

    yang seperti itu mas tolong jelasin detailnya mas

    • Yang for pertama untuk loop pertama mas, biasanya untuk membuat baris dan for kedua untuk membuat kolom. Setiap kali loop pertama dijalankan, lopp kedua akan dijalankan sampai selesai.

  • mas saya mau bertanya, kalau saya ada data seperti ini:
    1,2
    1,3
    1,4
    2,4
    2,5
    ingin dibuat seperti ini
    1,2,3
    1,2,4
    1,3,4
    2,4,5
    bagaimana ya mas caranya?
    terimakasih

  • mas saya mau tanya, bisa ga ya kita buat date dari angka yg kita buat sendiri dan dijadiin tgl,bln,tahun? misal :
    $tgl = ’02’;
    $bulan= ’03’;
    $thn= ‘2018’;
    $gabung = $thn . ‘-‘ . $bln . ‘-‘ . $tgl;
    $sql = mysqli_query($koneksi,”INSERT INTO tgl (tanggal) VALUES ($gabung) “) or die (mysqli_error($koneksi));

    • Bisa mas asal format tanggal nya benar: yyyy-mm-dd
      Contoh di pertanyaannya sudah benar cuman kurang tanda kutip pada VALUES nya:
      $sql = mysqli_query($koneksi,”INSERT INTO tgl (tanggal) VALUES (‘$gabung’)”)

  • mas nanya dong:
    misal
    $kode=$_POST[‘kode’];
    $nama=$_POST[‘nama’];
    ini kalau di gabung gimana mas, bisa ga pake $gabung=$kode,$nama;
    mohon arahan nya mas….tks sukses terus mas….

  • Mas saya punya script yg tampillan seperti ini

    04:57:40 AM
    Jum’at, 24 April 2020

    nah saya ingin menggabungkan 2 baris itu menjadi satu baris, misal, 04:57:40 AM , Jum’at, 24 April 2020
    pertanyaan saya bagaimana script php nya utk menggabungkan hasil menjadi 1 baris saja. Suwun

  • Mas mau tanya kalo query untuk menggabungkan kata yang diawali kata tidak, contoh saya tidak sepakat menjadi saya tidaksepakat setiap ada kata tidak pasti menjadi satu kata mas mohon di bantu

    • Coba pakai fungsi str_replace() mas, misal:
      str_replace(“tidak “, “tidak”, $text)
      Itu yang sederhana sehingga tidak bekerja jika terdapat lebih dari satu spasi setelah kata tidak atau ada karakter lain seperti enter.
      Untuk lebih akuratnya bisa coba pakai regex

  • Halo pak Agus, saya mau bertanya. Jika saya punya coding seperti ini :

    $hsl = array();
    if ($resVal[‘rank’] == 1) {
    $hsl[] = $resVal[‘rank’];
    }
    print_r($hsl);

    dan hasil seperti ini :

    // output :
    Array ( [0] => 1 ) Array ( [0] => 1 )

    gimana ya caranya memasukkan kedua nilai tersebut kedalam 1 variabel array?

    menjadi seperti ini :

    Array ( [0] => 1 [1] => 1 )

    mohon bantuannya pak, terimakasih 🙂

  • permisi pak mau bertanya, bapak belajar logika php dasar referensinya dari mana? saya mau ikut belajar juga dari referensi yg pak agus pelajari. terima kasih

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com