Teka-teki Operator Ternary: Mengapa Penggabungan Rentetan Tidak Berfungsi Seperti Yang Dijangkakan?

Patricia Arquette
Lepaskan: 2024-10-24 02:19:02
asal
982 orang telah melayarinya

Ternary Operator Puzzle: Why Isn't String Concatenation Working as Expected?

Siasatan Operator Ternary: Concatenation Conundrum

Dalam kebingungan pengaturcaraan ini, seorang pengekod yang ingin tahu menemui hasil yang tidak dijangka apabila menggunakan operator ternary dan penggabungan rentetan . Kod asal berbunyi seperti berikut:

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

Niatnya ialah untuk pembolehubah $description menahan rentetan "Paper: Bond" jika $paperType sama dengan "bond," atau "Paper: Other" sebaliknya. Walau bagaimanapun, hasil yang diperoleh hanyalah "Ikatan" atau "Lain-lain."

Kunci untuk menyelesaikan isu ini terletak pada susunan operasi dalam ungkapan ternary. Walaupun pengendali ternary ialah jalan pintas yang mudah untuk tugasan bersyarat, ia beroperasi pada tahap keutamaan yang berbeza daripada penggabungan rentetan. Akibatnya, operasi penggabungan sebenarnya berlaku sebelum penilaian ungkapan ternary.

Untuk membetulkan ini, kod perlu diubah suai untuk memastikan bahawa penggabungan dilakukan selepas penilaian ungkapan ternary. Kod yang diperbetulkan:

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

Dengan melampirkan ungkapan ternary dalam kurungan, kod memastikan bahawa penyatuan rentetan dilakukan pada hasil ungkapan ternary, menghasilkan output yang dijangkakan sama ada "Paper: Bond" atau "Kertas: Lain-lain" berdasarkan nilai $paperType.

Atas ialah kandungan terperinci Teka-teki Operator Ternary: Mengapa Penggabungan Rentetan Tidak Berfungsi Seperti Yang Dijangkakan?. 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!