2011-09-14 16 views
7

मैं एक नंबर कैसे अलग कर सकता हूं और PHP में पहले दो अंक प्राप्त कर सकता हूं?मैं एक नंबर कैसे अलग कर सकता हूं और PHP में पहले दो अंक प्राप्त कर सकता हूं?

उदाहरण के लिए: 1345 -> मैं इस उत्पादन =>13 या 1542 मैं 15 चाहते हैं।

+4

ठीक है, तो आपने क्या प्रयास किया? –

उत्तर

18

एक संभावना substr उपयोग करने के लिए होगा:

echo substr($mynumber, 0, 2); 

संपादित करें:
कृपया नहीं है कि, hakre की तरह कहा, यह ऋणात्मक संख्याओं या दशमलव स्थानों के साथ छोटी संख्या के लिए टूट जाएगा। उसका समाधान बेहतर है, क्योंकि वह इससे बचने के लिए कुछ जांच कर रहा है।

+0

argh, गूंगा टाइपो - धन्यवाद। – oezi

+2

यह बहुत नाजुक है ([डेमो] (http://codepad.org/ogARCT6r)) और केवल कुछ परिस्थितियों में ही काम करता है। – hakre

4

बहुत कठिन नहीं होना चाहिए? एक साधारण सबस्ट्रिंग को चाल करना चाहिए (आप संख्याओं को PHP की तरह ढीली टाइप की गई भाषा में तारों के रूप में देख सकते हैं)।

substr() फ़ंक्शन के लिए PHP मैन्युअल पृष्ठ देखें।

कुछ इस तरह:

$output = substr($input, 0, 2); //get first two characters (digits) 
0

आप अपना नंबर का स्ट्रिंग मान प्राप्त कर सकते हैं तो हिस्सा आप substr का उपयोग कर चाहते।

+2

PHP में स्पष्ट प्रकार के रूपांतरण की कोई आवश्यकता नहीं है। सबस्ट्रेट आपके लिए ऐसा करेगा। –

0

आप जब तक यह 2 अंक substr आप 10 से अपना नंबर विभाजित कर सकते हैं का उपयोग नहीं करना चाहते हैं:

<?php 
function foo($i) { 
    $i = abs((int)$i); 
    while ($i > 99) 
     $i = $i/10; 
    return $i; 
} 

पहले दो अंक आप दे देंगे

+0

इसे बनाओ (abs ($ i)> 99) तो आप @hakre द्वारा substr – Colin

+0

धन्यवाद के साथ निपटाए गए नकारात्मक मामले का भी ख्याल रखते हैं, मैंने इसे संशोधित किया है – cenanozen

6

सबसे पहले आप को सामान्य बनाने की जरूरत है आपका नंबर, क्योंकि PHP में सभी संख्याओं में केवल अंक शामिल नहीं हैं। आप एक पूर्णांक संख्या की तलाश में हो सकता है:

$number = (int) $number; 

समस्याएं तुम यहाँ में चला सकते हैं, पीएचपी या गोलाई मुद्दों में पूर्णांक संख्या की सीमा है Integers Docs देखते हैं, INF रूप में अच्छी तरह मन में आता है।

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

$twoDigits = substr($number, 0, $number < 0 ? 3 : 2); 

Demo देखें।

संबंधित मुद्दे

 संबंधित मुद्दे