2011-09-14 52 views

回答

18

一種可能性是使用substr

echo substr($mynumber, 0, 2); 

編輯:
請不說,像hakre說,這將打破爲負數或小的數字與小數。他的解決方案更好,因爲他正在做一些檢查以避免這種情況。

+0

阿格,啞巴錯字 - 謝謝。 – oezi

+2

這是非常脆弱的([Demo](http://codepad.org/ogARCT6r)),只有在某些情況下才能完成這項工作。 – hakre

4

不應該太難嗎?一個簡單的子字符串應該做的伎倆(你可以將數字視爲字符串,像PHP這樣的鬆散類型的語言)。

請參閱substr()函數的PHP手冊頁。

事情是這樣的:

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

你可以得到你的電話號碼的字符串值,然後得到你想要使用 substr的部分。

+2

在PHP中不需要顯式類型轉換。 substr會爲你做到這一點。 –

0

如果你不希望使用SUBSTR可以除以10的數量,直到它有2個數字:

<?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; 

問題是整數的PHP或倒圓的一系列問題,看到Integers DocsINF想到爲好。

由於現在的數字是一個整數,所以可以在字符串上下文中使用它,並提取前兩個數字,如果數字不是負數,則會提取前兩個數字。如果數字爲負,符號需要保留:

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

Demo

相關問題