php整數字元串
① php 整型 和 字元串相加
這個有好幾種演算法,例如: $tr = 'aaaaa'; 轉成 0
$tr = 'a123aa'; 轉成 0
$tr = '22aaa'; 轉成 22
就是說,當匹配到字元串中,不為整形,會繼續匹配,直到遇到字元,後面的全部轉為0,與前面相加
② 在php中,怎樣把數字轉化為字元串
1、首先新建一個PHP文檔,並定義一個數組,示例:$arr = array("I","have","an","apple");
③ php 字元串中取整數 如: $str='12|字元串'; 從$str中去前面的12出來.
<?php
$str='12|字元串';
echo (int)$str;
//輸出 12
如果你喜歡正則來解的
<?php
$str='12|字元串';
echo preg_replace('/(\d+).*/','\\1',$str);
④ php 字元串轉換成數字
整數 intval($string, 10); 第二個參數表示轉換為10進制整數
不一定是整數 floatval($string)
⑤ php中如何把一個字元串轉換成整數形式
php是類型自動轉換的
一般不需要轉換
可以直接使用
當然也可以強制轉換
$n=(int)$string;
就會把$string變為整型
倘若不轉換的話,也可以作為正常使用,php會在相應的情況下自動決定數據類型
⑥ php怎麼把字元串數字轉換為整數數字
$shuzi = (int)$shuzi;
或
$shuzi = intval($shuzi);
⑦ php如何將數字轉成字元串
1、
$a=12234;
var_mp((string)$a);
2、
$a=12345;
var_mp(''.$a);
⑧ php中怎麼把數字轉成字元串
應該使用printf,例子程序:
<?php
printf("%02d%02d",7,28);
?>
補充:
看來是我太毛躁了,我不知道你沒有C語言基礎,請看下面的例子:
<?php
$s=sprintf("%02d%02d",7,28);
echo$s;
?>
⑨ 百思不得其解:PHP數據類型字元串轉整數型出錯
問題出在$screenX= "<script>document.write(screen.width);</script>"上,變數$screenX的值並不是執行javaScript語句後的結果,如1024,你這樣定義$screenX,是把字元串<script>document.write(screen.width);</script>賦給了$screenX,再用intval()函數來轉換,當然得出了是0.
告訴你一種方法,把JavaScript得到的值寫到cookie里,再通過PHP來拿這個cookie值,JavaScript的變數是不能直接賦值給PHP的。
例如:
<script>
document.cookie("screen",screen.width);
</script>
PHP里
<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>
大概的思路是這樣的。
=========================================================
昨天JavaScript寫cookie的語法我寫錯了,我在公司調試了一下,下面的代碼是沒有問題的。首次進入頁面時請刷新一下頁面。
<script type="text/javascript">
var width = window.screen.width;
document.cookie="screen="+width;
</script>
<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>
⑩ PHP數字字元串左側補0、字元串填充和自動補齊的幾種方法
一、數字補0.
如果要自動生成學號,自動生成某某編號,就像這樣的形式「d0000009」、「d0000027」時,那麼就會面臨一個問題,怎麼把左邊用0補齊成這樣8位數的編碼呢?我想到了兩種方法實現這個功能。
方法一:
先構造一個數字10000000,千萬,也就是一個1,7個0,然後加上當前的編號(比如是3),那麼就得到
10000003,用字元串截取
substr('10000003',1,7)後就得到0000003,最後在與「d」拼接,就得到了最終的編號d0000003。
源碼如下:
復制代碼
代碼如下:
<?php
$num
=
3;
$temp_num
=
10000000;
$new_num
=
$num
+
$temp_num;
$real_num
=
"d".substr($new_num,1,7); //即截取掉最前面的「1」
echo
$real_num;
?>
方法二:
測出當前編號(比如是3)的長度strlen('3')=1,用要生成編號的總長度減去當前編號長度,得到需要填充0的個數,然後再用for循環填充0即可。
源碼如下:
復制代碼
代碼如下:
<?php
$num
=
3;
$bit
=
7;//產生7位數的數字編號
$num_len
=
strlen($num);
$zero
=
'';
for($i=$num_len;
$i<$bit;
$i++){
$zero
.=
"0";
}
$real_num
=
"d".$zero.$num;
echo
$real_num;
?>
方法三:另外幾種方法
復制代碼
代碼如下:
<?php
$sourceNumber
=
"1";
$newNumber
=
substr(strval($sourceNumber+1000),1,3);
echo
"$newNumber";
?>
/*這個時候就會出現:001
如果要增加位數的話可以將1000加大,然後把3也加大。
舉例:如果我要補上
"4個0"
第03行
就要變成這樣。*/
復制代碼
代碼如下:
<?php
$newNumber
=
substr(strval($sourceNumber+100000),1,5);
?>
/*其實就是總共要顯示幾位數字,就把$sourceNumber+1後面補上多少個0,最後一個數字就直接改成顯示幾位數字。*/
復制代碼
代碼如下:
/*string
str_pad
(
string
$input,
int
$pad_length
[,
string
$pad_string
[,
int
$pad_type]]
)*/
<?php
$input
=
"Alien";
echo
str_pad($input,
10);
//
proces
"Alien
"
echo
str_pad($input,
10,
"-=",
STR_PAD_LEFT);
//
proces
"-=-=-Alien"
echo
str_pad($input,
10,
"_",
STR_PAD_BOTH);
//
proces
"__Alien___"
echo
str_pad($input,
6
,
"___");
//
proces
"Alien_"
?>
/*補齊字元串的長度.以pad_string
補.默認補在右邊,如果STR_PAD_LEFT就補到左邊,STR_PAD_BOTH兩邊一起補。下次用str_pad,畢竟是內置的,肯定比自定義的快。*/
復制代碼
代碼如下:
/*
你上面的方法我覺得不怎麼好,介紹一下我寫的一個方法。方法函數如下,這樣當你要的結果001的話,方法:dispRepair('1',3,'0')
功能:補位函數
str:原字元串
type:類型,0為後補,1為前補
len:新字元串長度
msg:填補字元
*/
function
dispRepair($str,$len,$msg,$type='1')
{
$length
=
$len
-
strlen($str);
if($length<1)return
$str;
if
($type
==
1)
{
$str
=
str_repeat($msg,$length).$str;
}
else
{
$str
.=
str_repeat($msg,$length);
}
return
$str;
}
二、字元串填充、自動補齊、自動補全
遇到要輸出一定長度字元串的時候,可以使用一下兩種方法進行PHP字元串自動填充、自動補全
。
方法一:
復制代碼
代碼如下:$newStr=
sprintf('%05s',
$str);
sprintf()的功能非常靈活,上面的格式字元串中,「%05s
」表示輸出成長度為5的字元串,如果長度不足,左邊以零補全;如果寫成
「%5s
」,則默認以空格補全;如果希望使用其它字元補全,則要在該字元前加上單引號,即形如「%'#5s
」的表示以井號補全;最後,如果希望補全發生在
字元串右邊,則在百分號後加上減號,「%-05s
」。
方法二:
[code]$cd_no
=
str_pad(++$next_cd_no,8,'#',STR_PAD_LEFT);
str_pad(string,length,pad_string,pad_type):具體用法查看手冊。
string
必需。規定要填充的字元串。
length
必需。規定新字元串的長度。如果該值小於原始字元串的長度,則不進行任何操作。
pad_string
可選。規定供填充使用的字元串。默認是空白。
pad_type
可選。規定填充字元串的那邊。
這兩種方法很方便的實現了PHP字元串的自動補全功能。