2017-01-19 14 views
6

मैं उम्मीद कर रहा था उत्पादन होगा:त्रिगुट ऑपरेटर मुद्दा

http://domain.dev/category/123

लेकिन वास्तविक उत्पादन होता है: ""

$condition = true; 
$categoryId = 123; 
$result = 'http://domain.dev/category' . empty($condition) ? '' : '/' . $categoryId; 

var_dump($result); 

मैं क्या समझ से - यह अगर empty($condition) जाँच खाली है - यदि सत्य है तो http://domain.dev/category'' के साथ संलग्न करें या अन्य /$categoryId

मैंने क्या गलत किया?

+2

माना जाता है नहीं है क्या आप वास्तव में जाँच कर रहे हैं कि क्या ' 'http://domain.dev/category। खाली ($ शर्त) 'सत्य है" - जो हमेशा होता है - इसलिए खाली स्ट्रिंग वापस आती है। – CD001

+0

@ सीडी 001 अहह अब मुझे मिल गया :) पहले भाग को याद किया। –

उत्तर

9

सिर्फ बयान के आसपास () डाल:

$result = 'http://domain.dev/category' . (empty($condition) ? '' : '/' . $categoryId); 

तो यह ऑपरेटर

संबंधित मुद्दे