दिलचस्प पोस्ट
एक .NET डेटटाइम के मिलिसेकंड को कैसे छोटा करना आप गतिशील लोड किए गए जावास्क्रिप्ट ब्लॉक को कैसे निष्पादित करते हैं? कैसे तीर कुंजियों के साथ एक div को स्थानांतरित करने के लिए EF4 कोड पहले: एक नेविगेशन प्रॉपर्टी जोड़ने के बिना रिश्ते को कैसे जोड़ता है इनपुट का ध्यान केंद्रित करने के लिए jQuery का उपयोग करना जीआईटी का उपयोग करना, मैं एक शाखा में एक फ़ाइल को कैसे अनदेखा कर सकता हूं, लेकिन क्या यह किसी अन्य शाखा में है? मैं एक फ़ाइल की सामग्री से एक जावा स्ट्रिंग कैसे बनाऊं? बिटवे ऑपरेशन और उपयोग एंड्रॉइड ओरिएंटेशन सेंसर का विकल्प क्या है? डेलर के साथ स्प्लिट स्ट्रिंग डीलर के रूप में हास्केल प्रकार एक साधारण 'औसत' समारोह निराशाजनक .animate () का कॉलबैक दो बार jquery कहा जाता है एंड्रॉइड फोन एक दूसरे के समाप्त होने के तुरंत बाद AsyncTask एक JSON सरणी को पार्स करने के लिए GSON का उपयोग करना Int argc, चार * argv क्या मतलब है?

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

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

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

वेब के समाधान से एकत्रित समाधान "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; }