Apa yang dimaksud =>
operator dalam kode berikut?
foreach ($user_list as $user => $pass)
Kode tersebut adalah komentar di PHP.net. Pengguna tidak menentukan nilai $user_list
, $user
atau $pass
. Saya biasanya melihat bahwa =>
artinya sama atau lebih besar dari.
Namun, saya tidak yakin tentang tujuannya di sini karena tidak ditetapkan. Saya membaca kode sebagai
- memproses daftar pengguna dalam bilangan bulat
- sedemikian rupa sehingga nilai setiap pengguna sama atau lebih besar dari kata sandi
Hal di atas tidak masuk akal bagi saya.
Jawaban:
=>
adalah pemisah untuk array asosiatif. Dalam konteks perulangan foreach itu, itu menetapkan kunci dari array ke$user
dan nilainya ke$pass
.Contoh:
Perhatikan bahwa ini juga dapat digunakan untuk array yang diindeks secara numerik.
Contoh:
sumber
Ini berarti menetapkan kunci ke $ user dan variabel ke $ pass
Saat Anda menetapkan sebuah array, Anda melakukannya seperti ini
Ini menggunakan simbol yang sama untuk memproses array dalam pernyataan foreach. '=>' Menautkan kunci dan nilainya.
Menurut Manual PHP , '=>' pasangan kunci / nilai yang dibuat.
Juga, Sama atau Lebih Besar dari adalah kebalikannya: '> ='. Dalam PHP, tanda yang lebih besar atau lebih kecil dari selalu menjadi yang pertama: '> =', '<='.
Dan hanya sebagai catatan tambahan, mengecualikan nilai kedua tidak berfungsi seperti yang Anda kira. Alih-alih hanya memberi Anda kuncinya, Ini sebenarnya hanya memberi Anda nilai:
sumber
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
.Kode seperti "a => b" berarti, untuk array asosiatif (beberapa bahasa, seperti Perl , jika saya ingat dengan benar, panggil itu "hash") , bahwa 'a' adalah kunci, dan 'b' nilai.
Anda mungkin ingin melihat dokumentasi, setidaknya:
Di sini, Anda memiliki sebuah array, dipanggil
$user_list
, dan Anda akan mengulanginya, mendapatkan, untuk setiap baris, kunci dari baris masuk$user
, dan nilai yang sesuai di$pass
.Misalnya, kode ini:
Akan memberi Anda output ini:
(Saya menggunakan
var_dump
untuk menghasilkan keluaran yang bagus, yang memfasilitasi debuging; untuk mendapatkan keluaran normal, Anda akan menggunakanecho
)"Sama atau lebih besar" adalah sebaliknya: "lebih besar atau sama", yang ditulis, dalam PHP, seperti ini; "> ="
Hal yang sama untuk kebanyakan bahasa yang diturunkan dari C: C ++, JAVA, PHP, ...
Sebagai saran: Jika Anda baru memulai dengan PHP, Anda harus meluangkan waktu (mungkin beberapa jam, bahkan mungkin setengah hari atau bahkan sepanjang hari) untuk membaca beberapa bagian manual :-)
It ' d banyak membantu Anda!
sumber
Array dalam PHP adalah peta kunci ke nilai:
Jika Anda ingin melakukan sesuatu dengan setiap key-value-pair dalam array Anda, Anda dapat menggunakan
foreach
struktur kontrol:Variabel $ array adalah array yang akan Anda gunakan. Variabel $ key dan $ value akan berisi key-value-pair di setiap iterasi
foreach
loop. Dalam contoh ini, pertama akan berisi "kuning" dan 3, lalu "hijau" dan 4.Anda dapat menggunakan notasi alternatif jika Anda tidak peduli dengan kunci:
sumber
Array dalam PHP adalah array asosiatif (atau dikenal sebagai kamus atau hash) secara default. Jika Anda tidak secara eksplisit menetapkan kunci ke suatu nilai, penerjemah akan diam-diam melakukannya untuk Anda. Jadi, ekspresi yang Anda dapatkan di sana berulang
$user_list
, membuat kunci tersedia sebagai$user
dan nilainya tersedia sebagai$pass
variabel lokal di badan fileforeach
.sumber
$user_list
adalah larik data yang ketika diulang dapat dipecah menjadi nama dan nilainya.Dalam hal ini namanya adalah
$user
dan nilainya adalah$pass
.sumber