标量类型:整型(int)、浮点型(float)、字符串型(string)、布尔型(boolean)
复合类型:数组(array)、对象(object)
其他类型:资源(resource) NULL
int型最小值为-2147483647 ,即-2^31+1;最大值为2147483647,即2^31-1,可用PHP_INT_MAX表示。如果一个整型数据超过了这个最大值,则自动变成浮点型。
例如:
echo var_dump(2147483647); //结果:int 2147483647
echo var_dump(2147483648); //结果:float 2147483648
PHP语法分析器是用成对的引号来判断一个字符串的,当遇到与串的开头相对应的引号时,PHP便认为已经到了字符串尾部。因此,所有字符串必须使用同一种单或者双引号来定义开始和结束。
因此以下的输出是错误的:
$str = 'CSDN'dns'abc';
echo $str; //结果:syntax error
如果想在字符串中输出引号,正确的做法是进行转义:
$str = 'CSDN\'dns\'abc';
echo $str; //结果:CSDN'dns'abc
单双引号的差别:
1.单引号不会对字符串内的变量格式和转义字符进行处理。
/*
<<
STR;
*/
$str0 = 'nothing';
$str = <<
csdn sina'abc' nothing abc eng
csdn
sina'abc'
nothing
abc eng
echo进行字符串输出时,如果想输出单引号内的字符串同时又要输出变量,可以用“.”进行连接;
如果字符串使用拼接方式组成,可以使用逗号来连接需要拼接的各部分字符串和变量,比如
echo 'first',"second",$str,"end";
$url = array('a', 'b', 'c');
//对象(object)
class web{
public $url = "www.sina.cn.com
";
function say(){
echo "新浪
";
}
}
$obj = new web();
echo $obj->url;
echo $obj->say();
$student = array('a', 'b', 'c', 'd');
if(is_array($student)){
foreach($student as $key=>$value){
echo "学生".$key."的姓名是".$value."
";
}
}
学生0的姓名是a
学生1的姓名是b
学生2的姓名是c
学生3的姓名是d
字符型转换成整型时如果第一个字符不是数值型,则转换结果为0.例:
$b = "今天1天气不错";
echo var_dump((int)$b); //结果:int 0
字符串类型转换为数组时,数组第一项(索引为0)即为该字符串。
以上均为个人理解,初学php,如果有不对的地方,欢迎大家指正!