FUNCTION BAGIAN 1 TERAKHIR // PHP

Oleh underground 71 3 pada Jumat, 24 Juli 2015, 18:02:36


Kembali ke forum soal ini

#php #function-di-php #function-bagian-1


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



$kel = array ();
for ($i='a';$i!='z';$i++) {
  echo $i."\n";
array_push ($kel, $i);
}
sort ($kel);
$indeksrand = rand (0,count($kel)-1);
echo strtoupper( $kel [$indeksrand] );

maka akan keluar a, b , c, d.. y (TIDAK SAMPAI Z) dan satu huruf ACAK 

jika saya ubah menjadi 
$kel = array ();
for ($i='a';$i<='z';$i++) {
  echo $i."\n";
array_push ($kel, $i);
}
sort ($kel);
$indeksrand = rand (0,count($kel)-1);
echo strtoupper( $kel [$indeksrand] );

perhatian: yang saya ubah adalah != 'z' menjadi <= 'z'
makan hasilnya akan mengeluarkan 
a, b, ... z, aa, ab, ac ... ba, bb, ... yz (TIDAK SAMPAI ZZ)
mengapa demikian ?
1 jempol


ganis
198
841
· 9 tahun, 5 bulan yang lalu · 0 jempol

Menarik sekali..! jempol buat anda...!!

'z' jika ditambah dengan satu maka akan menjadi 'aa', lengkapnya lihat -> http://php.net/manual/en/languag...

kenapa 'z' maupun 'zz' tidak dicetak? karena saat $i = 'z' dan dilakukan perbandingan $i != 'z', for langsung exit karena itu false.

dan saat $i = 'za' (setelah 'yz' itu adalah 'za') dan dilakukan perbandingan $i <= 'z', maka langsung false karena 'za' lebih besar dibandingkan 'z'. Bingung? Lihat saja cara sorting di folder di komputer anda, jika ada file yang huruf pertamanya sama, maka akan dibandingkan huruf berikutnya.

bagaimana caranya untuk mencetak sampai 'z' dan 'zz'?

for ($i='a';strlen($i)<2;$i++) {
  echo $i;
}

for ($i='a';strlen($i)<3;$i++) {
  echo $i;
}

perhatikan di CodeSaya output dipotong jika terlalu banyak. Gunakan http://sandbox.onlinephpfunction... untuk mendapatkan output yang lengkap.