2011-04-17 58 views
1

如何在php中將數值輸出爲數字?我懷疑我有一個PHP值,但它是作爲文本輸出而不是數字。Php將數值設置爲數字

感謝

這裏是代碼 - 從問題下方

<?php 
if (preg_match('/\-(\d+)\.asp$/', $pagename1, $a)) 
{ 
$pageNumber = $a[1];} 
else 
{ // failed to match number from URL} 
} 
?> 

如果我把它更新了大衛:此代碼它似乎並沒有工作。

$maxRows_rs_datareviews = 10; 
$pageNum_rs_datareviews = $pagename1; <<<<<------ This is where I want to use it. 
if (isset($_GET['pageNum_rs_datareviews'])) { 
    $pageNum_rs_datareviews = $_GET['pageNum_rs_datareviews']; 
} 

如果我做網頁名的靜態數字,如3代碼工作,如果我使用$ pagename1沒有,這給了我的想法$ pagename1不被視爲是多少?

我的愚蠢! - 我用$ pagename1代替pageNumber

+0

它是否存儲爲不同類型的數字(又名int作爲字符串)? – mc10 2011-04-17 23:41:02

+0

你能展示你用來產生這種行爲的代碼嗎? – David 2011-04-17 23:41:19

+0

請參閱[我的答案]中的更新(http://stackoverflow.com/questions/5697229/php-set-value-as-a-number/5697240#5697240) – Phil 2011-04-17 23:53:11

回答

1

什麼樣的數字?一個整數,小數點,浮點數,別的東西?

也許最簡單的方法是使用printf(),如

printf('The number %d is an integer', $number); 
printf('The number %0.2f has two decimal places', $number); 

像你想使用

$pageNum_rs_datareviews = $pageNumber; 

,而不是

$pageNum_rs_datareviews = $pagename1; 
這可能是再明顯不過看起來
+0

lol :-)它凌厲的,非常明顯,而且我掙扎了近2個小時:-( – 2011-04-17 23:54:49

1

echo (int)$number; // integer 123

echo (float)$number; // float 123.45

將是最簡單

1

我更喜歡使用number_format

echo number_format(56.30124355436,2).'%'; // 56.30% 
echo number_format(56.30124355436,0).'%'; // 56% 
0
$num = 5; 
echo $num; 

任何輸出的文本,因爲它的輸出。不管你輸出的是什麼類型,因爲人眼會將其看作文本。這就是你在代碼中真正處理的是什麼。

將字符串轉換(轉換)爲數字是不同的。你可以做的東西,如:

$num = (int) $string; 
$num = intval($string); 

谷歌搜索php string to number應該給你的選擇美麗的陣列。

編輯:要從某物上刮號碼,可以使用preg_match('/\d+/', $string, $number)。 $數字現在將包含$ string中的所有數字。