Mengapa Keputusan Tidak Dijangka dalam Gabungan Rentetan Operator Ternary?

Barbara Streisand
Lepaskan: 2024-10-24 02:19:29
asal
611 orang telah melayarinya

Why Unexpected Result in Ternary Operator String Concatenation?

Penggabungan Rentetan Operator Ternary Hasil Tidak Dijangka

Dalam senario pengekodan baru-baru ini, gelagat kod tertentu telah menyebabkan pembangun bingung. Kod yang dipersoalkan menggunakan pengendali bersyarat ternary untuk menentukan nilai rentetan berdasarkan syarat tertentu. Bagaimanapun, keputusannya tidak seperti yang dijangkakan.

Kod dan Pemerhatian

Kod yang diteliti adalah seperti berikut:

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

Niat di sebalik kod ini adalah untuk menetapkan 'Paper: Bond' kepada pembolehubah $description jika $paperType ialah 'bond' dan 'Paper: Other' jika $paperType bukan 'bond'.

Walau bagaimanapun, apabila melaksanakan kod, pembangun memerhatikan bahawa $description sama ada diberikan nilai 'Bond' atau 'Other' secara langsung, tanpa awalan dijangka 'Paper: '. Hasil yang kelihatan pelik ini telah mendorong pencarian untuk penjelasan.

Pembetulan

Setelah dianalisis dengan lebih dekat, ternyata tanda kurungan ditinggalkan di sekitar ungkapan ternary. Peninggalan ini mengubah susunan operasi, mengakibatkan tingkah laku yang tidak dijangka.

Kod yang betul hendaklah:

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

Dengan tanda kurung di tempatnya, rentetan 'Kertas: ' digabungkan dengan betul dengan hasil ungkapan ternary, memastikan output yang diingini dicapai.

Atas ialah kandungan terperinci Mengapa Keputusan Tidak Dijangka dalam Gabungan Rentetan Operator Ternary?. 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!