Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP - सख्त मानक:संदर्भ द्वारा केवल चर पारित किए जाने चाहिए

समस्या यहाँ आपके if कथन में है:

end(array_keys($params['territories']))

आप array_keys() . का आउटपुट पास नहीं कर सकते संदर्भ द्वारा, इसलिए आपको इसे संदर्भ द्वारा पास करने में सक्षम होने के लिए पहले इसे एक चर के लिए असाइन करना होगा। इस तरह:

$a = array_keys($params['territories']);
if ($key == end($a)) {

आपको ऐसा क्यों करना है?

क्योंकि end() सरणी के आंतरिक सूचक को अंतिम तत्व पर सेट करता है, इसलिए यह संदर्भ द्वारा करता है (आप यह भी देखेंगे कि आपको अंत का वापसी मान निर्दिष्ट करने की आवश्यकता नहीं है, क्योंकि यह सब संदर्भ द्वारा किया जाता है)। तो आप array_keys() . का रिटर्न वैल्यू पास नहीं कर सकते संदर्भ द्वारा, क्योंकि आप केवल निम्नलिखित को संदर्भ द्वारा पारित कर सकते हैं:

  • चर, यानी foo($a)
  • नए बयान, यानी foo(new foobar())
  • संदर्भ फ़ंक्शन से लौटाए गए, यानी:

आप मैनुअल में संदर्भ से गुजरने के बारे में अधिक पढ़ सकते हैं:http://php .net/manual/hi/language.references.pass.php



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. भूमिका आधारित अभिगम नियंत्रण की डीबी स्कीमा

  2. mysql:चयन पर डुप्लिकेट परिणाम न दिखाएं

  3. MySQL सभी टेबल्स का कोलेशन बदलें

  4. org.hibernate.MappingException:संपत्ति मानचित्रण में ENUM इकाई में स्तंभों की संख्या गलत है

  5. एक MySQL तालिका में उन सभी कॉलमों को खोजें जिनमें केवल शून्य मान हैं