दिलचस्प पोस्ट
परिदृश्य में सॉफ्ट कीबोर्ड इनपुट के लिए फुलस्क्रीन संपादन दृश्य को अक्षम करना? प्रोटोटाइप: उदाहरण के दायरे को एक्सेस करने के लिए "यह" की गहरी गुंजाइश एक बेजियर पथ के साथ छवियों को रखें फ्लैटमैप / मानचित्र परिवर्तन के लिए समझने के साथ भ्रमित एमवीवीएम का उपयोग करते हुए एक WPF ListView आइटम से एक डबल क्लिक ईवेंट फ़ायरिंग गतिशील रूप से चमकदार पृष्ठ का उपयोग करके वेब पेज पर प्लॉट जोड़ें यूटीसी के कारण जेसनॉन स्ट्रिंग की तिथि का समय बदलता है हम वसंत में स्थिर खेतों को क्यों नहीं उठा सकते क्यों malloc + मेकसेट कॉलोक की तुलना में धीमी है? एक पीढ़ी में defaultStreamedContent के साथ <p: graphicImage> कैसे उपयोग करें: दोहराएँ? एक मौजूदा कनेक्शन को दूरस्थ मेजबान- WCF द्वारा जबरन बंद किया गया था bitwise और 64 बिट पूर्णांक के साथ जावास्क्रिप्ट में गिटूब के डाउनलोड लिंक में द्विआधारी वितरण जोड़ें IPhone सिम्युलेटर में आईफ़ोन आवेदन कैसे स्थापित करें I एक जेएसओएन स्ट्रिंग लेते हुए, उसे एक नक्शा इंटरफ़ेस {}, संपादन, और इसे बाइट में मार्शल करने में असमर्थ बनाते हुए अधिक जटिल लगता है तो यह होना चाहिए

PHP में सरणी के लिए अधिकतम कुंजी आकार क्या है?

मैं साहचर्य सरणी उत्पन्न कर रहा हूं और कुंजी मान 1..n स्तंभों की एक स्ट्रिंग कंसैट है।

क्या चाबी के लिए एक अधिकतम लंबाई है जो मुझे काटने के लिए वापस आ जाएगी? यदि हां, तो मैं संभवतः बंद करूँगा और इसे अलग तरीके से करूँगा

Solutions Collecting From Web of "PHP में सरणी के लिए अधिकतम कुंजी आकार क्या है?"

यह केवल स्क्रिप्ट की स्मृति सीमा तक ही सीमित है

एक त्वरित परीक्षण मुझे 128mb की कोई समस्या नहीं मिली:

ini_set('memory_limit', '1024M'); $key = str_repeat('x', 1024 * 1024 * 128); $foo = array($key => $key); echo strlen(key($foo)) . "<br>"; echo strlen($foo[$key]) . "<br>"; 

PHP में स्ट्रिंग आकार की कोई व्यावहारिक सीमा नहीं है। मैनुअल के अनुसार:

नोट: स्ट्रिंग के लिए बहुत बड़ी हो जाने के लिए कोई समस्या नहीं है PHP एक स्ट्रिंग के आकार पर कोई सीमा नहीं लगाता; केवल सीमा कंप्यूटर की उपलब्ध स्मृति है जिस पर PHP चल रहा है।

ऐसा लगता है कि यह स्ट्रिंग्स को कुंजी के रूप में कुंजी के रूप में अच्छी तरह से उपयोग करने के लिए लागू होता है, पर निर्भर करता है, लेकिन यह कैसे पर निर्भर करता है कि PHP अपने लुकअप को कैसे संभालता है, आप एक प्रदर्शन हिट को देख सकते हैं क्योंकि स्ट्रिंग बड़े होते हैं

Zend_hash.h में, आप zend_inline_hash_func() विधि पा सकते हैं जो PHP में हैश कुंजी स्ट्रिंग को कैसे दिखा सकता है, तो कुंजी का उपयोग करें जो स्ट्रिंग लंबाई 8 से कम वर्ण प्रदर्शन के लिए बेहतर है।

 static inline ulong zend_inline_hash_func(char *arKey, uint nKeyLength) { register ulong hash = 5381; /* variant with the hash unrolled eight times */ for (; nKeyLength >= 8; nKeyLength -= 8) { hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; hash = ((hash << 5) + hash) + *arKey++; } switch (nKeyLength) { case 7: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 6: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 5: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 4: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 3: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 2: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */ case 1: hash = ((hash << 5) + hash) + *arKey++; break; case 0: break; EMPTY_SWITCH_DEFAULT_CASE() } return hash; }