Belajar PHP: Bekerja Dengan Tipe Data String PHP Part 2
Bekerja Dengan Tipe Data String PHP Part 2
Dalam PHP, kita dapat melakukan manipulasi string dengan beberapa built-in function yang tersedia. Fungsi-fungsi string tersebut sangat banyak. Mari kita bahas beberapa fungsi string yang umum digunakan dalam PHP. Sebelumnya silahkan baca terlebih dahulu bagian part 1 agar lebih paham pada link berikut Belajar PHP: Bekerja Dengan Tipe Data String PHP Part 1
ord() dan chr()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
ord() | ord($string) | Mengubah nilai string menjadi nilai ASCII. |
chr() | chr($ASCII) | Mengubah nilai ASCII menjadi nilai karakter. |
ASCII (American Standard Code for Information Interchange) adalah standar pengkodean karakter untuk alat komunikasi, mewakili teks dalam komputer, peralatan telekomunikasi, dan perangkat lainnya.
Fungsi ord()
menerima nilai berupa string, lebih tepatnya hanya 1 karakter pertama dari string tersebut dan mengonversikannya ke nilai ASCII. Hasil kembalian konversi berupa integer. Fungsi ini berlaku sejak PHP versi 4+. Berikut contoh penerapan ord()
.
<?php
$stringValue = "Informatika";
$charValue = "I";
var_dump(ord($charValue)); // Output: int(73)
var_dump(ord($stringValue)); // Output: int(73)
?>
Fungsi chr()
berlaku sejak PHP versi 4+, menerima parameter berupa integer dari bilangan ASCII dan mengonversikannya menjadi karakter. Bilangan ASCII dapat ditulis dalam bentuk decimal, octal (awalan 0
), dan hexadecimal (awalan 0x
). Mari kita lihat contoh penerapan chr()
pada kode berikut.
<?php
$decimal = 73;
$octal = 073;
$hex = 0x73;
var_dump(chr($decimal)); // Output: string(1) "I"
var_dump(chr($octal)); // Output: string(1) ";"
var_dump(chr($hex)); // Output: string(1) "s"
?>
strrev(), strlen(), count_chars(), dan str_word_count()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
strrev() | strrev($string) | Membalikkan setiap urutan karakter dari sebuah string (reverse). |
strlen() | strlen($string) | Menghitung panjang karakter pada sebuah string, termasuk karakter khusus dan spasi. Hasil kembalian berupa integer. |
count_chars() | count_chars($string, $mode) | Menghitung banyaknya setiap karakter yang muncul dalam sebuah string. Parameter $mode bersifat opsional dan dapat memuat nilai integer 0 (default) hingga 4 . |
str_word_count() | str_word_count($string, $format, $charlist) | Menghitung jumlah kata dalam sebuah string. |
Mari kita lihat contoh penerapan strrev()
dan strlen()
.
<?php
# strrev()
$greetYou = "Hello there";
var_dump(strrev($greetYou));
// Output: string(11) "ereht olleH"
# strlen()
$letsCount = "One Two Three";
var_dump(strlen($letsCount));
// Output: int(13)
?>
Pada count_chars()
terdapat parameter $mode
yang dapat diisi dengan beberapa nilai, antara lain:
0
: Mengembalikan array yang isinya merupakan semua karakter yang ada, dengan bilangan ASCII sebagai key dan jumlah karakter terhitung sebagai value. Nilai ini merupakan nilai default dari$mode
.1
: Mirip seperti mode0
, tetapi array yang dihasilkan hanya memuat key dengan syarat jumlah karakter terhitung lebih dari 0.2
: Mirip seperti mode0
, tetapi array yang dihasilkan hanya memuat key dengan syarat jumlah karakter terhitung sama dengan 0.3
: Mengembalikan string semua karakter yang tertera pada parameter$string
dan terurut secara otomatis.4
: Mengembalikan string semua karakter yang tidak tertera pada parameter$string
dan terurut secara otomatis.
Mari kita lihat contoh penerapan count_chars()
dengan beberapa mode.
$mode
=0
<?php $str = "Hello World"; var_dump(count_chars($str, 0)); ?>
array(256) { [0]=> int(0) [1]=> int(0) [2]=> int(0) [3]=> int(0) [4]=> int(0) [5]=> int(0) [6]=> int(0) [7]=> int(0) [8]=> int(0) [9]=> int(0) [10]=> int(0) [11]=> int(0) [12]=> int(0) [13]=> int(0) [14]=> int(0) [15]=> int(0) [16]=> int(0) [17]=> int(0) [18]=> int(0) [19]=> int(0) [20]=> int(0) [21]=> int(0) [22]=> int(0) [23]=> int(0) [24]=> int(0) [25]=> int(0) [26]=> int(0) [27]=> int(0) [28]=> int(0) [29]=> int(0) [30]=> int(0) [31]=> int(0) [32]=> int(1) [33]=> int(0) [34]=> int(0) [35]=> int(0) [36]=> int(0) [37]=> int(0) [38]=> int(0) [39]=> int(0) [40]=> int(0) [41]=> int(0) [42]=> int(0) [43]=> int(0) [44]=> int(0) [45]=> int(0) [46]=> int(0) [47]=> int(0) [48]=> int(0) [49]=> int(0) [50]=> int(0) [51]=> int(0) [52]=> int(0) [53]=> int(0) [54]=> int(0) [55]=> int(0) [56]=> int(0) [57]=> int(0) [58]=> int(0) [59]=> int(0) [60]=> int(0) [61]=> int(0) [62]=> int(0) [63]=> int(0) [64]=> int(0) [65]=> int(0) [66]=> int(0) [67]=> int(0) [68]=> int(0) [69]=> int(0) [70]=> int(0) [71]=> int(0) [72]=> int(1) [73]=> int(0) [74]=> int(0) [75]=> int(0) [76]=> int(0) [77]=> int(0) [78]=> int(0) [79]=> int(0) [80]=> int(0) [81]=> int(0) [82]=> int(0) [83]=> int(0) [84]=> int(0) [85]=> int(0) [86]=> int(0) [87]=> int(1) [88]=> int(0) [89]=> int(0) [90]=> int(0) [91]=> int(0) [92]=> int(0) [93]=> int(0) [94]=> int(0) [95]=> int(0) [96]=> int(0) [97]=> int(0) [98]=> int(0) [99]=> int(0) [100]=> int(1) [101]=> int(1) [102]=> int(0) [103]=> int(0) [104]=> int(0) [105]=> int(0) [106]=> int(0) [107]=> int(0) [108]=> int(3) [109]=> int(0) [110]=> int(0) [111]=> int(2) [112]=> int(0) [113]=> int(0) [114]=> int(1) [115]=> int(0) [116]=> int(0) [117]=> int(0) [118]=> int(0) [119]=> int(0) [120]=> int(0) [121]=> int(0) [122]=> int(0) [123]=> int(0) [124]=> int(0) [125]=> int(0) [126]=> int(0) [127]=> int(0) [128]=> int(0) [129]=> int(0) [130]=> int(0) [131]=> int(0) [132]=> int(0) [133]=> int(0) [134]=> int(0) [135]=> int(0) [136]=> int(0) [137]=> int(0) [138]=> int(0) [139]=> int(0) [140]=> int(0) [141]=> int(0) [142]=> int(0) [143]=> int(0) [144]=> int(0) [145]=> int(0) [146]=> int(0) [147]=> int(0) [148]=> int(0) [149]=> int(0) [150]=> int(0) [151]=> int(0) [152]=> int(0) [153]=> int(0) [154]=> int(0) [155]=> int(0) [156]=> int(0) [157]=> int(0) [158]=> int(0) [159]=> int(0) [160]=> int(0) [161]=> int(0) [162]=> int(0) [163]=> int(0) [164]=> int(0) [165]=> int(0) [166]=> int(0) [167]=> int(0) [168]=> int(0) [169]=> int(0) [170]=> int(0) [171]=> int(0) [172]=> int(0) [173]=> int(0) [174]=> int(0) [175]=> int(0) [176]=> int(0) [177]=> int(0) [178]=> int(0) [179]=> int(0) [180]=> int(0) [181]=> int(0) [182]=> int(0) [183]=> int(0) [184]=> int(0) [185]=> int(0) [186]=> int(0) [187]=> int(0) [188]=> int(0) [189]=> int(0) [190]=> int(0) [191]=> int(0) [192]=> int(0) [193]=> int(0) [194]=> int(0) [195]=> int(0) [196]=> int(0) [197]=> int(0) [198]=> int(0) [199]=> int(0) [200]=> int(0) [201]=> int(0) [202]=> int(0) [203]=> int(0) [204]=> int(0) [205]=> int(0) [206]=> int(0) [207]=> int(0) [208]=> int(0) [209]=> int(0) [210]=> int(0) [211]=> int(0) [212]=> int(0) [213]=> int(0) [214]=> int(0) [215]=> int(0) [216]=> int(0) [217]=> int(0) [218]=> int(0) [219]=> int(0) [220]=> int(0) [221]=> int(0) [222]=> int(0) [223]=> int(0) [224]=> int(0) [225]=> int(0) [226]=> int(0) [227]=> int(0) [228]=> int(0) [229]=> int(0) [230]=> int(0) [231]=> int(0) [232]=> int(0) [233]=> int(0) [234]=> int(0) [235]=> int(0) [236]=> int(0) [237]=> int(0) [238]=> int(0) [239]=> int(0) [240]=> int(0) [241]=> int(0) [242]=> int(0) [243]=> int(0) [244]=> int(0) [245]=> int(0) [246]=> int(0) [247]=> int(0) [248]=> int(0) [249]=> int(0) [250]=> int(0) [251]=> int(0) [252]=> int(0) [253]=> int(0) [254]=> int(0) [255]=> int(0) }
$mode
=1
<?php $str = "Hello World"; var_dump(count_chars($str, 1)); ?>
array(8) { [32]=> int(1) [72]=> int(1) [87]=> int(1) [100]=> int(1) [101]=> int(1) [108]=> int(3) [111]=> int(2) [114]=> int(1) }
$mode
=2
<?php $str = "Hello World"; var_dump(count_chars($str, 2)); ?>
array(248) { [0]=> int(0) [1]=> int(0) [2]=> int(0) [3]=> int(0) [4]=> int(0) [5]=> int(0) [6]=> int(0) [7]=> int(0) [8]=> int(0) [9]=> int(0) [10]=> int(0) [11]=> int(0) [12]=> int(0) [13]=> int(0) [14]=> int(0) [15]=> int(0) [16]=> int(0) [17]=> int(0) [18]=> int(0) [19]=> int(0) [20]=> int(0) [21]=> int(0) [22]=> int(0) [23]=> int(0) [24]=> int(0) [25]=> int(0) [26]=> int(0) [27]=> int(0) [28]=> int(0) [29]=> int(0) [30]=> int(0) [31]=> int(0) [33]=> int(0) [34]=> int(0) [35]=> int(0) [36]=> int(0) [37]=> int(0) [38]=> int(0) [39]=> int(0) [40]=> int(0) [41]=> int(0) [42]=> int(0) [43]=> int(0) [44]=> int(0) [45]=> int(0) [46]=> int(0) [47]=> int(0) [48]=> int(0) [49]=> int(0) [50]=> int(0) [51]=> int(0) [52]=> int(0) [53]=> int(0) [54]=> int(0) [55]=> int(0) [56]=> int(0) [57]=> int(0) [58]=> int(0) [59]=> int(0) [60]=> int(0) [61]=> int(0) [62]=> int(0) [63]=> int(0) [64]=> int(0) [65]=> int(0) [66]=> int(0) [67]=> int(0) [68]=> int(0) [69]=> int(0) [70]=> int(0) [71]=> int(0) [73]=> int(0) [74]=> int(0) [75]=> int(0) [76]=> int(0) [77]=> int(0) [78]=> int(0) [79]=> int(0) [80]=> int(0) [81]=> int(0) [82]=> int(0) [83]=> int(0) [84]=> int(0) [85]=> int(0) [86]=> int(0) [88]=> int(0) [89]=> int(0) [90]=> int(0) [91]=> int(0) [92]=> int(0) [93]=> int(0) [94]=> int(0) [95]=> int(0) [96]=> int(0) [97]=> int(0) [98]=> int(0) [99]=> int(0) [102]=> int(0) [103]=> int(0) [104]=> int(0) [105]=> int(0) [106]=> int(0) [107]=> int(0) [109]=> int(0) [110]=> int(0) [112]=> int(0) [113]=> int(0) [115]=> int(0) [116]=> int(0) [117]=> int(0) [118]=> int(0) [119]=> int(0) [120]=> int(0) [121]=> int(0) [122]=> int(0) [123]=> int(0) [124]=> int(0) [125]=> int(0) [126]=> int(0) [127]=> int(0) [128]=> int(0) [129]=> int(0) [130]=> int(0) [131]=> int(0) [132]=> int(0) [133]=> int(0) [134]=> int(0) [135]=> int(0) [136]=> int(0) [137]=> int(0) [138]=> int(0) [139]=> int(0) [140]=> int(0) [141]=> int(0) [142]=> int(0) [143]=> int(0) [144]=> int(0) [145]=> int(0) [146]=> int(0) [147]=> int(0) [148]=> int(0) [149]=> int(0) [150]=> int(0) [151]=> int(0) [152]=> int(0) [153]=> int(0) [154]=> int(0) [155]=> int(0) [156]=> int(0) [157]=> int(0) [158]=> int(0) [159]=> int(0) [160]=> int(0) [161]=> int(0) [162]=> int(0) [163]=> int(0) [164]=> int(0) [165]=> int(0) [166]=> int(0) [167]=> int(0) [168]=> int(0) [169]=> int(0) [170]=> int(0) [171]=> int(0) [172]=> int(0) [173]=> int(0) [174]=> int(0) [175]=> int(0) [176]=> int(0) [177]=> int(0) [178]=> int(0) [179]=> int(0) [180]=> int(0) [181]=> int(0) [182]=> int(0) [183]=> int(0) [184]=> int(0) [185]=> int(0) [186]=> int(0) [187]=> int(0) [188]=> int(0) [189]=> int(0) [190]=> int(0) [191]=> int(0) [192]=> int(0) [193]=> int(0) [194]=> int(0) [195]=> int(0) [196]=> int(0) [197]=> int(0) [198]=> int(0) [199]=> int(0) [200]=> int(0) [201]=> int(0) [202]=> int(0) [203]=> int(0) [204]=> int(0) [205]=> int(0) [206]=> int(0) [207]=> int(0) [208]=> int(0) [209]=> int(0) [210]=> int(0) [211]=> int(0) [212]=> int(0) [213]=> int(0) [214]=> int(0) [215]=> int(0) [216]=> int(0) [217]=> int(0) [218]=> int(0) [219]=> int(0) [220]=> int(0) [221]=> int(0) [222]=> int(0) [223]=> int(0) [224]=> int(0) [225]=> int(0) [226]=> int(0) [227]=> int(0) [228]=> int(0) [229]=> int(0) [230]=> int(0) [231]=> int(0) [232]=> int(0) [233]=> int(0) [234]=> int(0) [235]=> int(0) [236]=> int(0) [237]=> int(0) [238]=> int(0) [239]=> int(0) [240]=> int(0) [241]=> int(0) [242]=> int(0) [243]=> int(0) [244]=> int(0) [245]=> int(0) [246]=> int(0) [247]=> int(0) [248]=> int(0) [249]=> int(0) [250]=> int(0) [251]=> int(0) [252]=> int(0) [253]=> int(0) [254]=> int(0) [255]=> int(0) }
$mode
=3
<?php $str = "Hello World"; var_dump(count_chars($str, 3)); ?>
string(8) " HWdelor"
$mode
=4
<?php $str = "Hello World"; var_dump(count_chars($str, 4)); ?>
string(248) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVXYZ[\]^_`abcfghijkmnpqstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������"
Pada str_word_count()
, parameter $format
dan $charlist
bersifat opsional. Secara default, $format
bernilai 0
dan hanya menerima nilai berupa integer. Berikut nilai-nilai yang dapat diisi dalam parameter $format
.
0
: mengembalikan jumlah kata yang terhitung.1
: mengembalikan numeric array dengan anggota berupa setiap kata yang ada pada string.2
: mirip seperti format1
, hanya saja key dari setiap anggotanya (kata) merupakan posisi dari kata itu sendiri.
Sedangkan, parameter $charlist
memuat nilai berupa string yang mengidentifikasi karakter khusus apa yang dapat dinilai sebagai kata. Berikut contoh penerapan str_word_count()
.
Tanpa
$charlist
<?php $str = "You & I ..."; var_dump(str_word_count($str)); var_dump(str_word_count($str, 1)); var_dump(str_word_count($str, 2)); ?>
int(2) array(2) { [0]=> string(3) "You" [1]=> string(1) "I" } array(2) { [0]=> string(3) "You" [6]=> string(1) "I" }
$charlist
='&'
<?php $str = "You & I ..."; var_dump(str_word_count($str, 0, '&')); var_dump(str_word_count($str, 1, '&')); var_dump(str_word_count($str, 2, '&')); ?>
int(3) array(3) { [0]=> string(3) "You" [1]=> string(1) "&" [2]=> string(1) "I" } array(3) { [0]=> string(3) "You" [4]=> string(1) "&" [6]=> string(1) "I" }
$charlist
='.'
<?php $str = "You & I ..."; var_dump(str_word_count($str, 0, '.')); var_dump(str_word_count($str, 1, '.')); var_dump(str_word_count($str, 2, '.')); ?>
int(3) array(3) { [0]=> string(3) "You" [1]=> string(1) "I" [2]=> string(3) "..." } array(3) { [0]=> string(3) "You" [6]=> string(1) "I" [8]=> string(3) "..." }
str_pad(), str_repeat(), str_shuffle(), str_split(), dan chunk_split()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
str_pad() | str_pad($stringToPad, $length, $stringToUse, $padType) | Menambahkan string baru pada string lainnya sebanyak sisa karakter yang ada. |
str_repeat() | str_repeat($stringToRepeat, $numberOfRepeat) | Mengulangi string sebanyak jumlah repetisi yang ditentukan. |
str_shuffle() | str_shuffle($stringToShuffle) | Mengacak susunan karakter yang terdapat pada sebuah string. |
str_split() | str_split($stringToSplit, $splitLength) | Mengubah sebuah string menjadi array. |
chunk_split() | chunk_split($stringToSplit, $chunkLength, $endOfChunk) | Membagi sebuah string menjadi potongan/bagian yang lebih kecil. |
Fungsi str_pad()
berlaku sejak PHP 4. Nilai yang dikembalikan fungsi ini berupa string. Berikut penjelasan mengenai parameter dalam fungsi str_pad()
.
$stringToPad
adalah string yang akan ditambahkan ukurannya.$length
adalah panjang ukuran baru yang akan dihasilkan dari fungsi ini. Jika nilai parameter ini kurang dari panjang awal$stringToPad
, tidak akan terjadi penambahan apapun.$stringToUse
adalah string yang akan ditambahkan ke dalam$stringToPad
, merupakan parameter opsional. Secara default, parameter ini bernilai whitespace (spasi).$padType
adalah tipe arah penambahan string yang akan dilakukan. Terdapat 3 jenis$padType
, yaituSTR_PAD_BOTH
(kiri-kanan),STR_PAD_LEFT
(kiri), danSTR_PAD_RIGHT
(kanan). Parameter$padType
bersifat opsional dan secara default bernilaiSTR_PAD_RIGHT
.
Mari kita perhatikan contoh-contoh penerapan str_pad()
berikut.
<?php
$number = "726";
var_dump(str_pad($number, 5));
// Output: string(5) "726 "
var_dump(str_pad($number, 6, "0", STR_PAD_LEFT));
// Output: string(6) "000726"
var_dump(str_pad($number, 5, "0", STR_PAD_RIGHT));
// Output: string(5) "72600"
var_dump(str_pad($number, 7, "00", STR_PAD_BOTH));
// Output: string(7) "0072600"
?>
Fungsi str_repeat()
dan str_shuffle()
akan mengembalikan nilai berupa string. Fungsi str_shuffle()
ada sejak PHP 4.3.0+, sedangkan str_repeat()
berlaku sejak PHP 4. Fungsi str_repeat()
menerima parameter berupa string yang akan direpetisi ($stringToRepeat
) sebanyak jumlah repetisi dalam nilai integer ($numberOfRepeat
). Sedangkan, str_shuffle()
menerima nilai berupa string ($stringToShuffle
) yang nantinya akan diacak setiap karakternya. Mari kita perhatikan contoh penerapan kedua fungsi string ini.
<?php
var_dump(str_repeat("Animal.", 5));
// Output: string(35) "Animal.Animal.Animal.Animal.Animal."
var_dump(str_shuffle('Hello my name is Billy.'));
// Output dapat berbeda-beda karena string tersebut diacak karakternya.
// Contoh output: string(23) "n omely semlaiyB i.ll H"
?>
Fungsi str_split()
ada sejak PHP 5+, mengembalikan nilai berupa array dari hasil pemotongan string sebagai anggotanya. Fungsi str_split()
memiliki satu parameter opsional ($splitLength
) yang menentukan pemotongan string setiap berapa karakter. Nilai yang diterima parameter ini hanya integer. Secara default, parameter ini bernilai 1
. Fungsi ini mengembalikan nilai false
jika $splitLength
bernilai kurang dari 1
. Mari kita perhatikan contoh penerapan fungsi yang satu ini.
<?php
print_r(str_split('Herbivora'));
// Output: Array ( [0] => H [1] => e [2] => r [3] => b [4] => i [5] => v [6] => o [7] => r [8] => a )
print_r(str_split('Herbivora', 2));
// Output: Array ( [0] => He [1] => rb [2] => iv [3] => or [4] => a )
?>
Fungsi chunk_split()
memiliki dua parameter opsional, yaitu $chunkLength
dan $endOfChunk
. Parameter $chunkLength
menentukan panjang dari setiap potongan string. Secara default, panjang potongan sebuah string adalah 76
. Sedangkan, parameter $endOfChunk
berfungsi untuk menentukan string yang ditambahkan pada akhir potongan string. Secara default, parameter ini bernilai \r\n
. Mari kita perhatikan contoh penerapan chunk_split()
pada kode berikut.
<?php
$carnivora = "Tiger";
$greetings = "Halooo_semuanya_!!!_Bersama_kami_di_informatika.web.id_akan_berusaha_membentuk_kalimat_yang_mengandung_lebih_dari_76_karakter,_baik_itu_karakter_biasa_maupun_karakter_khusus.";
var_dump(chunk_split($carnivora, 2, "x"));
var_dump(chunk_split($carnivora, 1));
var_dump(strlen($greetings));
var_dump(chunk_split($greetings));
?>
string(8) "Tixgexrx"
string(15) "T
i
g
e
r
"
int(174)
string(180) "Halooo_semuanya_!!!_Bersama_kami_di_informatika.web.id_akan_berusaha_membent
uk_kalimat_yang_mengandung_lebih_dari_76_karakter,_baik_itu_karakter_biasa_m
aupun_karakter_khusus.
"
strtoupper(), strtolower(), ucfirst(), lcfirst(), dan ucwords()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
strtoupper() | strtoupper($string) | Mengubah semua karakter dalam string menjadi huruf kapital. |
strtolower() | strtolower($string) | Mengubah semua karakter dalam string menjadi huruf kecil. |
ucfirst() | ucfirst($string) | Mengubah karakter pertama dalam string menjadi huruf kapital. |
lcfirst() | lcfirst($string) | Mengubah karakter pertama dalam string menjadi huruf kecil. |
ucwords() | ucwords($string, $delimiters) | Mengubah karakter pertama pada setiap kata dalam string menjadi huruf kapital. |
Mari kita perhatikan contoh penerapan fungsi-fungsi tersebut.
<?php
# strtoupper(), sejak PHP versi 4+
echo strtoupper('Hello World!!');
// Output: HELLO WORLD!!
# strtolower(), sejak PHP versi 4+
echo strtolower('HelLO WorlD!!');
// Output: hello world!!
# ucfirst(), sejak PHP versi 4+
echo ucfirst('hello world!!');
// Output: Hello world!!
# lcfirst(), sejak PHP versi 5.30+
echo lcfirst('Hello World!!');
// Output: hello World!!
?>
Fungsi ucwords()
memiliki parameter opsional, yaitu $delimiters
. Parameter ini menerima string dan berfungsi sebagai pemisah kata. Secara default, $delimiters
bernilai \t\r\n\f\v
(space, form-feed, newline, carriage return, horizontal tab, dan vertical tab). Mari kita simak contoh penerapan ucwords()
.
<?php
echo ucwords('hello world!');
// Output: Hello World!
echo ucwords("hello\nworld!");
// Output: Hello World!
echo ucwords("hello\tworld!");
// Output: Hello World!
echo ucwords("hello\rworld!");
// Output: Hello World!
echo ucwords('hello#world!', '#');
// Output: Hello#World!
?>
ltrim(), rtrim(), dan trim()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
ltrim() | ltrim($string, $charlist) | Memotong atau menghapus karakter tertentu dari sebelah kiri sebuah string. |
rtrim() alias chop() | rtrim($string, $charlist) alias chop($string, $charlist) | Memotong atau menghapus karakter tertentu dari sebelah kanan sebuah string. |
trim() | trim($string, $charlist) | Memotong atau menghapus beberapa karakter dari kedua sisi string. |
Mari kita lihat contoh penerapan fungsi-fungsi tersebut pada kode berikut.
<?php
# ltrim()
$leftSide = 'Turn Left';
var_dump(ltrim($leftSide, 'Turn')); // Output: string(5) " Left"
# rtrim() alias chop()
$foodie = 'Chicken Chop';
var_dump(rtrim($foodie, 'Chop')); // Output: string(8) "Chicken "
var_dump(chop($foodie, ' Chop')); // Output: string(7) "Chicken"
# trim()
$time = '_Midnight _';
var_dump(trim($time, '_')); // Output: string(9) "Midnight "
?>
str_replace() dan str_ireplace()
Sintaks | Nama Fungsi | Deskripsi |
---|---|---|
str_replace() | str_replace($search, $replace, $subject, $count) | Mengubah kata yang diinginkan pada kalimat secara case-sensitive. |
str_ireplace() | str_ireplace($search, $replace, $subject, $count) | Mengubah kata yang diinginkan pada kalimat secara case-insensitive. |
Fungsi str_replace()
ada sejak PHP versi 4+ dan mengembalikan nilai berupa string atau array sesuai dengan $subject
. Berikut keterangan dari masing-masing parameter str_replace()
.
$search
memuat kata yang dicari.$replace
memuat kata yang ingin diganti.$subject
memuat kalimat yang ingin diganti kata-katanya.$count
adalah nama variabel yang menerima jumlah pergantian yang terjadi. Parameter ini bersifat opsional dan secara default bernilainull
. Berlaku sejak PHP 5.0.
Terdapat berapa aturan mengenai fungsi str_replace()
, antara lain:
- Jika
$search
dan$replace
berupa array,str_replace()
mengambil nilai dari setiap elemen array dan menggunakannya untuk pencarian pada$subject
. - Jika
$replace
memiliki nilai yang lebih sedikit daripada$search
, string kosong yang akan digunakan untuk sisa nilai pengganti. - Jika
$search
adalah array dan$replace
adalah string, string$replace
akan digunakan untuk setiap nilai pencarian. Namun, tidak sebaliknya.
Mari kita perhatikan contoh penerapannya.
<?php
$vocal = ['a', 'e', 'i', 'o', 'u'];
$replaceChar = "s";
$subject = "HellO wOrld umUmnya adAlah program komputer yang mengEluarkan ataU menAmpilkan pesAn \"HEllo, World!\".";
echo str_replace($vocal, $replaceChar, $subject, $changeCounted);
// Output: HsllO wOrld smUmnys sdAlsh prsgrsm ksmpstsr ysng msngElssrksn stsU msnAmpslksn pssAn "HElls, Wsrld!".
echo $changeCounted;
// Output: 23
?>
Fungsi str_ireplace()
memiliki parameter dan cara kerja yang sama dengan str_replace()
, hanya saja fungsi ini berlaku sejak PHP versi 5+ dan melakukan pengubahan tanpa memperhatikan huruf kapital atau kecil (case-insensitive). Mari kita perhatikan contoh penerapannya pada kode berikut.
<?php
$vocal = ['a', 'e', 'i', 'o', 'u'];
$replaceChar = "l";
$subject = "HellO wOrld umUmnya adAlah program komputer yang mengEluarkan ataU menAmpilkan pesAn \"HEllo, World!\".";
echo str_ireplace($vocal, $replaceChar, $subject, $changeCounted);
// Output: Hllll wlrld lmlmnyl ldlllh prlgrlm klmpltlr ylng mlngllllrkln ltll mlnlmpllkln plsln "Hllll, Wlrld!".
echo $changeCounted;
// Output: 32
?>
strstr(), stristr(), dan strrchr()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
strstr() alias strchr() | strstr($haystack, $needle, $before_needle) alias strchr($haystack, $needle, $before_needle) | Mengambil bagian string ($needle ) yang pertama ditemukan hingga akhir string tersebut. Pencarian fungsi ini bersifat case-sensitive. |
stristr() | stristr($haystack, $needle, $before_needle) | Mirip seperti strstr() , hanya saja pencarian bersifat case-insensitive. |
strrchr() | strrchr($haystack, $needle) | Mirip seperti strchr() , hanya saja pencarian diterapkan terhadap karakter yang ditemukan terakhir kali. |
Fungsi strstr()
alias strchr()
berlaku sejak PHP versi 4+. Fungsi ini memiliki 2 parameter wajib ($haystack
dan $needle
) dan 1 parameter opsional ($before_needle
). Berikut keterangan mengenai parameter fungsi ini.
$haystack
merupakan parameter yang memuat string sebagai wadah pencarian.$needle
memuat string yang akan dicari pada$haystack
. Parameter ini juga dapat memuat integer dan pencarian akan dilakukan untuk karakter ASCII yang bersesuaian dengan nilai integer yang dimuat.$before_needle
merupakan parameter opsional yang memuat boolean. Secara default, parameter ini bernilaifalse
. Jika parameter ini bernilaitrue
, fungsi mengembalikan bagian string dari awal hingga tepat sebelum$needle
.
Fungsi strstr()
alias strchr()
mengembalikan nilai false
jika pencarian tidak ditemukan. Mari kita perhatikan contoh penerapannya.
<?php
$sentence = "Hello My World!";
$found = strstr($sentence, 'World');
var_dump($found);
// Output: string(6) "World!"
$foundBefore = strchr($sentence, 'World', true);
var_dump($foundBefore);
// Output: string(9) "Hello My "
// 111 adalah kode ASCII dari karakter 'o'
$foundReferenceByASCII = strstr($sentence, 111);
var_dump($foundReferenceByASCII);
// Output: string(11) "o My World!"
$notFound = strchr($sentence, 'world');
var_dump($notFound);
// Output: bool(false)
// Hasil kembalian bernilai false karena kita tidak menemukan adanya "w" (case-sensitive)
?>
Jika kita hanya ingin mengetahui apakah
$needle
tertentu berada dalam$haystack
, kita dapat memanfaatkan fungsistrpos()
yang lebih cepat dan lebih ringan dalam penggunaan memory.
Fungsi stristr()
memiliki cara kerja yang sama dengan fungsi strstr()
alias strchr()
, namun pencarian bersifat case-insensitive. Mari kita lihat contoh penerapannya pada kode berikut.
<?php
$sentence = "Hello My World!";
$found = stristr($sentence, 'WORLD');
var_dump($found);
// Output: string(6) "World!"
$foundBefore = stristr($sentence, 'world', true);
var_dump($foundBefore);
// Output: string(9) "Hello My "
// 79 adalah kode ASCII dari karakter 'O'
$foundReferenceByASCII = stristr($sentence, 79);
var_dump($foundReferenceByASCII);
// Output: string(11) "o My World!"
$notFound = stristr($sentence, 'world.');
var_dump($notFound);
// Output: bool(false)
// Hasil kembalian bernilai false karena kita tidak menemukan adanya "."
?>
Fungsi strrchr()
berlaku sejak PHP versi 4+ dan memiliki 2 parameter wajib, yaitu $haystack
(string wadah pencarian) dan $needle
(karakter yang dicari). Parameter $needle
dapat memuat string (hanya karakter pertama yang digunakan) dan integer (nilai ASCII). Fungsi ini mengembalikan string yang berisi semua karakter dimulai dari karakter yang ditemukan terakhir hingga akhir string. Fungsi ini akan mengembalikan false
bila karakter tidak ditemukan. Mari kita perhatikan contoh berikut.
<?php
$sentence = "Hello My World!";
var_dump(strrchr($sentence, 'l'));
// Output: string(3) "ld!"
var_dump(strrchr($sentence, 'llo'));
// Output: string(3) "ld!"
// 77 adalah kode ASCII "M"
var_dump(strrchr($sentence, 77));
// Output: string(9) "My World!"
var_dump(strrchr($sentence, 'a'));
// Output: bool(false)
// 109 adalah kode ASCII "m"
var_dump(strrchr($sentence, 109));
// Output: bool(false)
?>
strpos(), stripos(), strrpos(), dan strripos()
Nama Fungsi | Sintaks | Deskripsi |
---|---|---|
strpos() | strpos($haystack, $needle, $offset) | Mencari posisi sebuah string yang pertama ditemukan dalam string lainnya secara case-sensitive. |
stripos() | stripos($haystack, $needle, $offset) | Mencari posisi sebuah string yang pertama ditemukan dalam string lainnya secara case-insensitive. |
strrpos() | strrpos($haystack, $needle, $offset) | Mencari posisi sebuah string yang terakhir ditemukan dalam string lainnya secara case-sensitive. |
strripos() | strripos($haystack, $needle, $offset) | Mencari posisi sebuah string yang terakhir ditemukan dalam string lainnya secara case-insensitive. |
Fungsi strpos()
dan strrpos()
ada sejak PHP versi 4+, sedangkan stripos()
dan strripos()
berlaku sejak PHP 5+. Fungsi-fungsi ini mengembalikan nilai berupa integer atau false
(jika pencarian tidak terpenuhi) dengan menerima 2 parameter wajib ($haystack
dan $needle
) dan 1 parameter opsional ($offset
). Berikut keterangan mengenai parameter fungsi-fungsi ini.
$haystack
merupakan parameter yang memuat string sebagai wadah pencarian.$needle
memuat string yang akan dicari pada$haystack
. Parameter ini dapat memuat string lebih dari 1 kata sejak PHP 5.0.$offset
memuat posisi mulai pencarian dengan nilai integer dan bersifat opsional. Secara default, parameter ini bernilai0
. Jika bernilai negatif, pencarian dimulai dari sebanyak nilai terhitung dari akhir$haystack
. Parameter ini dapat bernilai negatif sejak PHP 7.1.0.
Mari kita perhatikan contoh kode berikut.
<?php
$newSentence = "Cindy sedang memasak masakan Indonesia.";
// strpos() ~ case-sensitive
var_dump(strpos($newSentence, 'indonesia')); // Output: bool(false)
var_dump(strpos($newSentence, 'masak')); // Output: int(15)
var_dump(strpos($newSentence, 'masak', 10)); // Output: int(15)
var_dump(strpos($newSentence, 'masak', -10)); // Output: bool(false)
var_dump(strpos($newSentence, 'masak', -20)); // Output: int(21)
// stripos() ~ case-insensitive
var_dump(stripos($newSentence, 'indonesia')); // Output: int(29)
var_dump(stripos($newSentence, 'masak')); // Output: int(15)
var_dump(stripos($newSentence, 'masak', 10)); // Output: int(15)
var_dump(stripos($newSentence, 'masak', -10)); // Output: bool(false)
var_dump(stripos($newSentence, 'masak', -20)); // Output: int(21)
// strrpos() ~ reverse & case-sensitive
var_dump(strrpos($newSentence, 'indonesia')); // Output: bool(false)
var_dump(strrpos($newSentence, 'masak')); // Output: int(21)
var_dump(strrpos($newSentence, 'masak', 10)); // Output: int(21)
var_dump(strrpos($newSentence, 'masak', -10)); // Output: int(21)
var_dump(strrpos($newSentence, 'masak', -20)); // Output: int(15)
// strripos() ~ reverse & case-insensitive
var_dump(strripos($newSentence, 'indonesia')); // Output: int(29)
var_dump(strripos($newSentence, 'masak')); // Output: int(21)
var_dump(strripos($newSentence, 'masak', 10)); // Output: int(21)
var_dump(strripos($newSentence, 'masak', -10)); // Output: int(21)
var_dump(strripos($newSentence, 'masak', -20)); // Output: int(15)
?>
Posting Komentar untuk "Belajar PHP: Bekerja Dengan Tipe Data String PHP Part 2"