Kodealgo

String PHP

String adalah tipe data di PHP yang berisi serangkaian karakter, dimana setiap karakter sama dengan byte. Itu berarti PHP hanya mendukung 256 karakter ASCII, tidak mendukung Unicode secara native.

String merupakan salah satu tipe data yang sering digunakan, sehingga penting untuk memahami secara detail mengenai tipe data yang satu ini.

Di sini kita akan belajar membuat string menggunakan beberapa metode dan memanipulasi string yang umum dilakukan seperti mengkonversi array ke string, menggabungkan string, memecah string dan sebagainya.

Berikut beberapa topik yang akan kita bahas terkait tipe data string:

  1. Cara Membuat String
    1. Kutip Tunggal
    2. Kutip Tunggal
    3. Heredoc
    4. Newdoc
  2. Konversi Array ke String
  3. Konversi Integer ke String
  4. Cek Apakah String Mengandung String Tertentu
  5. Menggabungkan String
  6. Menghitung Panjang String
  7. Memecah String

Cara Membuat String

Di PHP, tipe data string dapat dibuat dengan beberapa metode, bisa menggunakan kutip tunggal, kutip ganda, sintaks heredoc, atau sintaks nowdoc.

Mari kita pelajari satu per satu.

Kutip Tunggal

Cara paling sederhana untuk membuat string adalah mengguankan kutip tunggal, metode ini cocok untuk string sederhana.

Untuk membuatnya, kita bisa menggunakan kutip tunggal ('), diikuti dengan serangkaian karakter, dan diakhiri dengan kutip tunggal (').

Sintaks

'karakter di sini'

Contoh:

<?php

echo 'hello world'; // hello world

Dalam kondisi tertentu kita mungkin ingin memasukkan kutip tunggal (') sebagai bagian dari sebuah kata, misalnya untuk kata "jum'at".

Agar karakter kutip tunggal tidak dianggap sebagai kutip penutup string, kita bisa melakukan escape menggunakan garis miring terbalik (\) sebelum kutip tunggal (\').

Contoh:

<?php

echo 'sekarang hari jum\'at'; // sekarang hari jum'at

Kutip Ganda

String PHP juga dapat dibuat dengan kutip ganda, metode ini cocok untuk string kompleks. Misalnya, kita ingin bagian tertentu di dalam string menjadi dinamis yaitu dengan memasukkan sebuah variabel.

Dengan menggunakan kutip ganda hal tersebut dimungkinkan.

Sintaks

"karakter di sini"

Contoh:

<?php

$nama = 'Ucup';

echo "Hi, $nama. Selamat belajar PHP."; //  Hi, Ucup. Selamat belajar PHP.

Kita juga bisa menentukan akhiran dan awalan dari sebuah variabel menggunakan sintaks ${namaVariabel}, ini biasanya digunakan ketika kita ingin menggabungkan nilai didalam variabel dengan karakter yang ada di dalam string tanpa spasi.

Contoh:

<?php

$juice = 'apple';

echo "He drank some juice made of ${juice}s."; // He drank some juice made of apples.

echo "He drank some juice made of $juices."; // ERROR: variabel adalah $juice (tanpa "s") bukan $juices

Bagaimana jika kita ingin memanggil sebuah method object di dalam string kutip tunggal? kita hanya perlu membungkusnya menggunakan kurung kurawal buka ({) dan tutup (}).

Contoh:

<?php

class Person  {
  public $name;
  public $age;

  public function __construct(string $name, int $age) {
    $this->name = $name;
    $this->age = $age;
  }

  public function getName()
  {
    return $this->name;
  }
}

$person = new Person('reza', 17);

echo "Hello, {$person->getName()} {$person->age}"; // Hello, reza.

Berikut beberapa escaped characters yang bisa kita gunakan di dalam string dengan kutip ganda.

  • \n - baris baru.
  • \r - kembali ke awal baris.
  • \t - horizontal tab.
  • \v - vertikal tab.
  • \e - escape.
  • \\ - garis miring terbalik.
  • \$ - tanda dolar.
  • \" - kutip ganda.

Heredoc

String juga dapat dibuat menggunakan sintaks heredoc, ini biasanya digunakan untuk membuat string yang berisi beberapa baris dan memungkinkan kita memanggil variabel atau ekspresi di dalamnya.

Untuk membuat string dengan sintaks heredoc harus diawali dengan tanda lebih kecil tiga kali <<<, kemudian diikuti dengan teks apa pun biasanya END, kemudian dibaris berikutnya string yang akan kita buat, baris terakhir harus diakhiri dengan teks yang sama dengan teks setelah tanda <<<, dalam hal ini END.

Sintaks

<<<END
ini string
END;

Diantara tag pembuka dan penutup kita juga bisa menyisipkan variabel dan memanggil method, perilakunya mirip seperti string yang dibuat dengan kutip ganda.

Contoh:

<?php

$nama = 'Ucup';

$tentang = <<<END
Hi, nama saya $nama.
Saya berusia 17 tahun dan seorang programmer.
END;

echo $tentang;
// Hi, nama saya Ucup.
// Saya berusia 17 tahun dan seorang programmer.

Nowdoc

Sintaks nowdoc mirip dengan heredoc, tapi perilakunya mirip seperti kita membuat string normal menggunakan kutip tunggal, kita tidak dapat menyisipkan variabel di dalamnya, jika ada variabel di dalamnya, variabel tersebut akan dianggap sebagai teks normal.

Selain itu teks setelah tanda tiga buah tanda lebih kecil dari juga harus diapit dengan kutip tunggal ('EOD').

Sintaks

<<<'EOD'
ini string
EOD;

Contoh:

<?php

$nama = "Ucup";

$tentang = <<<'EOD'
Hi, nama saya $nama.
Saya berusia 17 tahun dan seorang programmer.
EOD;

echo $tentang;
// Hi, nama saya $nama.
// Saya berusia 17 tahun dan seorang programmer.

Konversi Array ke String

Saat membuat kode program terkadang kita perlu mengkonversi array ke string, dalam kasus seperti ini biasanya kita menggunakan fungsi implode().

Fungsi implode() berfungsi untuk menggabungkan setiap elemen array menjadi string dan kita dapat menambahkan separator.

Contoh:

<?php

$mahasiswa = ['budi', 'ucup', 'ucok'];

echo implode($mahasiswa) . PHP_EOL; // budiucupucok
echo implode(' ', $mahasiswa) . PHP_EOL; // budi ucup ucok
echo implode('-', $mahasiswa) . PHP_EOL; // budi-ucup-ucok

Konversi Integer ke String

Untuk mengkonversi integer ke string di PHP, kita bisa menggunakan sintaks type casting atau bisa juga menggunakan fungsi strval().

Contoh:

$ageInt = 17;

$ageStr1 = (string) $ageInt;
$ageStr2 = strval($ageInt);

var_dump($ageStr1); // string(2) "17"
var_dump($ageStr2); // string(2) "17"

Cek Apakah String Mengandung String Tertentu

Saat memanipulasi string, terkadang kita ingin mengetahui apakah string mengandung string tertentu atau tidak. Hal ini bisa kita lakukan dengan menggunakan fungsi str_contains().

Sintaks

str_contains(string $stringTarget, string $stringDicari): bool

Parameter

  • $stringTarget - string target.
  • $stringDicari - string yang ingin dicari di dalam string target.

Nilai Kembalian

Mengembalikan nilai boolean true jika $stringTarget mengandung $stringDicari (peka huruf besar/kecil), atau false jika tidak.

Contoh:

<?php

$stringTarget = 'hello world.';
$stringDicari = 'world';

$hasil = str_contains($stringTarget, $stringDicari);

var_dump($hasil); // bool(true)

Menggabungkan String

Untuk menggabungkan string di PHP kita bisa menggunakan operator yang dirancang khusus untuk penggabungan string yaitu titik (.).

Contoh:

<?php

$sapa = 'Hi, ' . 'ucup.';

echo $sapa; // Hi, ucup.

Menghitung Panjang String

Untuk menghitung panjang string atau jumlah karakter yang ada di dalam string, kita bisa menggunakan fungsi strlen(). Fungsi ini mengembalikan integer sesuai dengan jumlah karakter di dalam string atau 0 untuk string kosong.

Contoh:

$hi = 'hello world';

echo strlen($hi); // 11

Memecah String

Terkadang kita juga perlu memecah string berdasarkan karakter tertentu, dalam kasus seperti ini kita bisa menggunakan fungsi explode().

Sintaks

explode(string $separator, string $stringTarget, int $limit = PHP_INT_MAX): array

Parameter

  • separator - menentukan berdasarkan karakter apa string akan dipecah.
  • stringTarget - string yang akan dipecah.
  • limit - menentukan panjang maksimal array yang dikembalikan.

Nilai Kembalian

Mengembailkan array yang elemennya adalah string hasil pemecahan berdasarkan separator.

Contoh:

<?php

$jam = '12:11:06';

$hasil = explode(':', $jam);

var_dump($hasil);
// array(3) {
//   [0]=>
//   string(2) "12"
//   [1]=>
//   string(2) "11"
//   [2]=>
//   string(2) "06"
// }