PHP converting my floats to integers in my array -


मेरे पास यह कोड है:

  $ val = (float) $ desc; यदि (! ($ रनपेज ['सांख्यिकी'] [$ कुंजी])) {$ रनपेज ['सांख्यिकी'] [$ की] = (फ्लोट) 0.0; } $ रनपेज ['सांख्यिकी'] [$ की] + = $ val;   

जहां $ val एक फ्लोट है।

लेकिन जब मैं अंत में सरणी मुद्रित करता हूँ तो सभी मान पूर्णांकों के रूप में समाप्त होते हैं I उदाहरण के लिए, यदि वही $ की के लिए 1.5, 1.5, 1.5 है, तो यह 3 से 4.5 की बजाय प्रिंट होगा।

मुझे यकीन नहीं है कि यह ऐसा क्यों कर रहा है

संपादित करें: यहां सरणी का आउटपुट है

  [statistics] = & gt; एरे ([जादू प्रवेश] = & gt; 9 [क्षमता प्रति स्तर] = & gt; 9 [आंदोलन की गति] = & gt; 3 [जादू विरोध] = & gt; 9)    < P> 

क्षमा करें, मैं अपना प्रश्न भूल गया $ key एक फ़्लोट था।

$ val के मामले में? मुझे नहीं पता। यह मूल्यों के लिए ठीक काम करना चाहिए, इसलिए समस्या का स्रोत अन्यत्र हो सकता है PHP में यह पूर्णांक जोड़ने और एक साथ फ़्लोट करने के लिए सुरक्षित है और इसका परिणाम फ्लोट होगा।


यदि $ की एक फ्लोट था:

यह सामान्य, व्यवहार Arrays को फ्लोट्स द्वारा अनुक्रमित नहीं माना जाता है।

साथ ही संख्यात्मक दिखने वाले स्ट्रिंग्स को भी पूर्णांकों पर डाला जाता है $ a [5] === $ a ['5']

दुर्भाग्य से PHP सरणियाँ एक सामान्य कुंजी-मूल्य की दुकान नहीं हैं तुम्हारा सबसे अच्छा शर्त एक स्ट्रिंग के लिए सीरियलिंग कुंजी है जो किसी अंक से शुरू नहीं होती है।

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -