php字元串變數
發布時間: 2024-07-07 09:03:35
⑴ php5中一個字元串變數能存放多少個字元啊
我告訴你,a[5]定義的a只能裝4個字元,因為還要裝一個結束字元\0。
原則上,超過4個字元都是不對的,但是究竟輸入多少才出問題,以及會出什麼樣的問題,這個是非常高深的。
我剛才在turboc裡面,輸入8個字元就出問題了,什麼問題呢:窗口死了,而且是在輸出了12345678之後,還要讓我輸入,輸什麼都不能退出,ctrl+break都沒用。
為什麼稍微超出一點沒有問題呢,因為計算機分配內存的時候有個對齊,比如是按照4位元組對齊,那麼定義的變數如果在暫用整數的多少個4位元組之後,最後還需要一個位元組,計算機會空3位元組,這樣只要在這個范圍內就不出問題。
超過了變數分配的內存會出什麼問題呢,本質上就是變數之後的內存會被破壞,例如你這樣的定義chara[5],b[5];在a裡面輸入多餘的內容實際上會存儲在b的空間,b的數據就被破壞。我剛才測試的時候直接死了,是因為我沒有在a之後定義我要使用的變數,可能那之後是系統有重要功能的數據區域。
大家知道unix是的程序主要都是c寫的,以前看見一個小的c程序,一運行馬上就出現了#提示符,搖身一變成為了超級用戶,那就是利用某些系統功能的溢出進行攻擊。學c的,要特別主要溢出問題。
⑵ php如何將字元串作為變數使用
如果要將字元串當變數使用最簡單的方法就是替換:
例:
$a="原字元串內容";
$b="變數的值";
$c="變數字元串";
$d=str_replace($c,$b,$a);//新值
從$a到$d,$c包含的字元串就相當於一個變數;不知道你明白沒有!
⑶ php一個字元串變數怎麼和常量數組連接
字元創和數組是不能連接的哦。
字元串和字元串連接
$a='demo1';
$b='demo2';
$c=$a.$b;
echo$c;//輸出demo1demo2
數組和數組連接
$array1=array(0=>'zero_a',2=>'two_a',3=>'three_a');
$array2=array(1=>'one_b',3=>'three_b',4=>'four_b');
$result=$array1+$array2;
var_mp($result);
array(5){
[0]=>
string(6)"zero_a"
[2]=>
string(5)"two_a"
[3]=>
string(7)"three_a"
[1]=>
string(5)"one_b"
[4]=>
string(6)"four_b"
}
熱點內容