स्थिति (या) के साथ PHP चर में एकाधिक मान संभव है। जैसे इस तरह

$shippingCost = $selectedShipping['cost'] || null;

मैंने कोशिश की है लेकिन यह रिटर्न एरर देता है

result

1
aceng juanda 2 सितंबर 2021, 12:17

3 जवाब

सबसे बढ़िया उत्तर

जब जाँच करने की शर्तें होती हैं तो हम पैरामीटर को मान निर्दिष्ट करने के लिए टर्नरी ऑपरेटरों का उपयोग करते हैं। अन्यथा आप बस अन्य शर्तों का भी उपयोग कर सकते हैं

using ternary operator 

$shippingCost = isset($selectedShipping['cost']) ? $selectedShipping['cost'] : null

using if,else

$shippingCost = 0;
if(isset($selectedShipping['cost'])){
  $shippingCost = $selectedShipping['cost'];
}
0
Rishni 2 सितंबर 2021, 12:28

PHP जावास्क्रिप्ट नहीं है। निम्नलिखित का परिणाम:

$shippingCost = $selectedShipping['cost'] || null;

एक bool है, भले ही $selectedShipping['cost'] किसका मूल्यांकन करता हो। निम्नलिखित को अपेक्षित परिणाम देना चाहिए:

$shippingCost = !empty($selectedShipping['cost']) ? $selectedShipping['cost'] : null;

यह शून्य वापस आ जाएगा अगर:

  • $selectedShipping सेट नहीं है
  • $selectedShipping के पास cost कुंजी नहीं है
  • $selectedShipping['cost'] एक मिथ्या मान है
0
Salman A 2 सितंबर 2021, 12:29

अगर मैं सही ढंग से याद करूँ, तो टर्नरी ऑपरेटर (?:) यह पता लगाने की कोशिश करता है कि क्या मान सत्य है या गलत है, इसलिए यदि यह सेट नहीं है, तो यह एक त्रुटि या चेतावनी लौटाएगा।

आप जो खोज रहे हैं, उसके सेट या नहीं के आधार पर एक मूल्य गुजर रहा है।

पुराने समय में हमारे पास वरिष्ठ लोगों के लिए isset($array['key']) या array_key_exists थे, हालांकि अभी आप एक नल कोलेसिंग ऑपरेटर का उपयोग कर सकते हैं - ??।

$array['key'] ?? null - यह सरणी में उस कुंजी के अंतर्गत जो कुछ भी है उसे वापस कर देगा, या यदि यह अपरिभाषित है तो शून्य।

0
panjezor 2 सितंबर 2021, 14:17