Mengapa Penggabungan Rentetan dengan Operator Ternary Menghasilkan Gelagat Tidak Dijangka?

Linda Hamilton
Lepaskan: 2024-10-24 03:12:29
asal
514 orang telah melayarinya

Why Does String Concatenation with Ternary Operators Result in Unexpected Behavior?

Pengendali Ternary dan Penggabungan Rentetan: Tingkah Laku Luar Biasa

Dalam pengaturcaraan, operator ternary ialah alat yang berkuasa untuk pelaksanaan bersyarat. Walau bagaimanapun, apabila digandingkan dengan penggabungan rentetan, keanehan yang pelik boleh berlaku.

Satu senario sedemikian timbul apabila cuba membina rentetan berdasarkan nilai pembolehubah lain menggunakan operator ternary. Pertimbangkan kod berikut:

$paperType = 'bond';
$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';
Salin selepas log masuk

Dalam kod ini, operator ternary digunakan untuk menentukan kandungan pembolehubah $description berdasarkan nilai $paperType. Apabila $paperType sama dengan 'Bond,' operator mengembalikan rentetan 'Bond'; jika tidak, ia mengembalikan rentetan 'Lain-lain.'

Walau bagaimanapun, selepas pelaksanaan, hasil $description mungkin tidak seperti yang dijangkakan. Daripada menghasilkan 'Paper: Bond' apabila $paperType ialah 'Bond,' kod tersebut mengeluarkan 'Bond' semata-mata. Ini boleh membingungkan, terutamanya bagi mereka yang tidak biasa dengan kebiasaan pengendali ternary.

Untuk menyelesaikan isu ini, tanda kurung mesti ditambah di sekitar operasi penggabungan rentetan, seperti ditunjukkan di bawah:

$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');
Salin selepas log masuk

Dengan pengubahsuaian ini, penggabungan rentetan dilakukan dalam susunan yang betul, memastikan hasil yang diingini dicapai.

Ringkasnya, apabila menggunakan pengendali ternari untuk penggabungan rentetan, adalah penting untuk menyertakan operasi penggabungan dalam kurungan untuk menjamin hasil yang diharapkan.

Atas ialah kandungan terperinci Mengapa Penggabungan Rentetan dengan Operator Ternary Menghasilkan Gelagat Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!