Trik pemrograman dalam PHP #1

phpBagi programmer pemula sering kali kesulitan dalam memecahkan hal yang mungkin beberapa dari anda anggap mudah.

Salah satu proses untuk mempercepat pembelajaran anda adalah dengan membaca source code atau algoritma orang lain. Untuk itu disini, kami berbagi beberapa trik pemrograman dalam bahasa PHP.

Penggalan kode berikut bukan hanya untuk copy-paste dalam aplikasi anda, sebaiknya anda pelajari terlebih dahulu untuk menambah wawasan anda dalam penyelesaian masalah.

  1. Membuat password secara acak
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <?php
     
    function generatePassword($length) {
        $character = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $password = "";
        for($i=0;$i<$length;$i++) {
            $password .= $character[rand(0, 61)];
        }
        return $password;
    }
     
    echo generatePassword(7);
     
    ?>
  2. Menghitung usia
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    <?php
     
    $testcase = array("12-03-1985", "15-01-1987", "01-01-2000");
     
    function getAge($year) {
        return floor(abs(strtotime('now') - strtotime($year))/31536000);
    } 
     
    foreach($testcase as $test) {
        echo "Born in $test, approximately age is " . getAge($test)." years<br/>";
    }    
    ?>
  3. Mendapatkan IP address pengunjung
    1
    2
    3
    4
    5
    
    <?php  
     
    echo "Your IP address is " . $_SERVER['REMOTE_ADDR'];  
     
    ?>
  4. Memeriksa bilangan ganjil atau genap
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    <?php
     
    $testcase = array(1, 4, 5, 6, 11);
     
    function isOdd($number) {
        if ($number % 2 == 0) {
            return false; 
        } 
        return true;
    }    
     
    foreach($testcase as $test) {
        if (isOdd($test)) {
            echo $test . " is odd<br/>";
        } else {
            echo $test . " is even<br/>";
        }   
    }    
     
    ?>
  5. Mendapatkan extension file
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    <?php
     
    $testcase = array("sample.txt", "sample.jpg", "sample.case.txt");
     
    function extension($filename){
        return substr(strrchr($filename, '.'), 1);
    }
     
    foreach($testcase as $test) {
        echo "Extension from $test is " . extension($test) . "<br/>"; 
    } 
     
    ?>
  6. Mengurut data dalam array
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <?php
     
    $data_list = array("lychee", "pineapple", "apple", "mango", "strawberry", "banana", "orange", "grape", "guava");
     
    sort($data_list);
    foreach($data_list as $data) {
        echo $data . "<br/>"; 
    } 
     
    ?>
  7. Memilih data dalam array secara acak
    1
    2
    3
    4
    5
    6
    7
    
    <?php
     
    $fruits = array("lychee", "pineapple", "apple", "mango", "strawberry", "banana", "orange", "grape", "guava");
     
    print $fruits[array_rand($fruits)];
     
    ?>
  8. Mengacak urutan dalam array
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <?php
     
    $data_list = array("lychee", "pineapple", "apple", "mango", "strawberry", "banana", "orange", "grape", "guava");
     
    shuffle($data_list);
    foreach($data_list as $data) {
        echo $data . "<br/>"; 
    } 
     
    ?>
  9. Memberikan highlight pada text
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <?php
     
    $text = "Sample sentence from KomunitasWeb, regex has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";
     
    $text = preg_replace("/\b(regex)\b/i", '<span style="background:#5fc9f6">\1</span>', $text);
     
    echo $text;
     
    ?>
  10. Mengubah ke format title case (huruf pertama dalam kata kapital)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    <?php
    $testcase = array("hello world", "Hello WORLD", "heLLO world");
     
    function titleCase($text) {
        return ucwords(strtolower($text));
    }
     
    foreach($testcase as $test) {
        echo titleCase($test)."<br/>";
    }    
     
    ?>
  11. Waktu terhitung sejak hari tertentu
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    <?php
     
    $testcase = array("12-03-1985", "15-01-2007", "04-04-2009", "01-01-2009", "30-03-2009", "07-04-2009", "07-04-2009 11:12");
     
    define("MINUTE", 60);
    define("HOUR", 3600); // 60 * 60 
    define("DAY", 86400); //  60 * 60 * 24 
    define("WEEK", 604800); // 60 * 60 * 24 * 7
    define("MONTH", 2592000); // 60 * 60 * 24 * 30
    define("YEAR", 31536000); // 60 * 60 * 24 * 365
     
    function timeSince($date) {
     
        $since = abs(strtotime('now') - strtotime($date));
     
        if($since > YEAR) {
            $year = floor($since / YEAR);
            return "more than $year year(s) ago";
        }    
     
        if ($since > MONTH) {
            $month = floor($since / MONTH);
            return "about $month month(s) ago";
        } 
     
        if ($since > WEEK) {
            $week = floor($since / WEEK);
            $day = floor(($since - ($week * WEEK)) / DAY);
            return "about $week week(s), and $day day(s) ago";
        }
     
        if ($since > DAY) {        
            $day = floor($since / DAY);
            $hour = floor(($since - ($day * DAY)) / HOUR);
            return "about $day day(s), $hour hour(s) ago";
        }
     
        if ($since > HOUR) {        
            $hour = floor($since / HOUR);
            $minute = floor(($since - ($hour * HOUR)) / MINUTE);
            return "about $hour hour(s), $minute minute(s) ago";
        }
     
        if ($since > MINUTE) {        
            $minute = floor($since / MINUTE);
            return "$minute minute(s) ago";
        }
     
        return "under 1 minute ago";	
     
    }
     
    foreach($testcase as $test) {
        echo "Time since $test is " . timeSince($test)."<br/>";
    }   
     
    ?>

Jika anda memiliki trik-trik lainnya, silahkan berbagi bersama kami.

Related posts:

  1. Keranjang Belanja Sederhana Dengan PHP
  2. Shopping Cart Dengan CodeIgniter
  3. Membuat Microblog Sederhana Dengan CodeIgniter

About Gilang Chandrasa

Gilang Chandrasa adalah seorang web developer yang sangat menyukai dunia open source. Memasak adalah salah satu hobinya diluar dunia IT. Pendiri Yumbaa dan Komunitaz ini juga adalah seorang blogger, menulis di berbagai situs termasuk komunitasweb. Mempunyai mimpi untuk memajukan dunia web Indonesia.
This entry was posted in Artikel and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Additional comments powered by BackType