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"
}
热点内容