PHP Dasar, String dan Index

Pada pemprograman C, String adalah Array dari karakter-karakter:

  1. char str[] = "String"; 

Pada PHP, meskipun String menganut sifat seperti Array, yaitu sebuah karakter tertentu pada String bisa diakses dengan menggunakan Index, namun String bukanlah Array.

  1. <?php 
  2.  
  3. $str = 'String'; 
  4.  
  5. echo $str[0]; // S 

Karena bukanlah sebuah Array, maka tidak bisa di-iterasi dengan foreach. Untuk meng-iterasi String bisa menggunakan cara sebagai berikut:

Menggunakan for:

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. $len = strlen($str); 
  5.  
  6. for ($i = 0; $i < $len; $i++) { 
  7.     echo $str[$i].'-'; // S-t-r-i-n-g- 
  8. } 

Menggunakan while:

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. $len = strlen($str); 
  5. $i   = 0; 
  6.  
  7. while ($i < $len) { 
  8.     echo $str[$i].'-'; // S-t-r-i-n-g- 
  9.     $i++; 
  10. } 

Cara lain menggunakan while:

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. $i   = 0; 
  5.  
  6. while (isset($str[$i])) { 
  7.     echo $str[$i].'-'; // S-t-r-i-n-g- 
  8.     $i++; 
  9. } 

Atau mengubahnya dulu menjadi Array dengan str_split(), lalu baru menggunakan foreach:

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. $arr = str_split($str); 
  5.  
  6. foreach ($arr as $chr) { 
  7.     echo $chr.'-'; // S-t-r-i-n-g- 
  8. } 

Untuk mengambil beberapa karakter berurutan dari sebuah String, mungkin cara berikut dirasa kurang elegan:

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. echo $str[0].$str[1].$str[2]; // Str 

Maka bisa menggunakan substr():

  1. <?php 
  2.  
  3. $str = 'String'; 
  4. echo substr($str, 0, 3); // Str 

Bersambung...