PHP程序编写
<?php
………………
?>
包裹的代码为php代码,其余未包裹的都不是php语言。
php内存都是以堆存储。
<?php
echo "hello word!\n";
echo 10+20;
//echo "";
#echo "";
/*echo "";*/
?>
- 语法错误:syntax error
- 运行时错误:Uncaught Error
<?php
$name ="zhangsan"; //string,变量定义不需要类型,"$"用来定义变量,a_1。
$age = 20; //integer
$a = true; //boolean
$b = 10.8; //double
echo gettype($name)."\n";//获取数据类型;小数只有double型
//------------------------------------------
$aa =[10,20,30];
class Stu{
public $name='lisi';
public function getinfo(){
return $this->name;
}
}
$s = new Stu();
echo gettype($aa)."\n"; //数组array
echo gettype($s)."\n"; //对象object
echo gettype($x)."\n"; //null
$f =fopen("a.txt","w");
fwrite($f,"hello php");
echo gettype("$f")."\n"; //资源类型,resouce
fclose($f);
php变量类型
- 标量
- string //字符串
- integer //整型 4个字节(32位)
- boolean //布尔型
- double //浮点型
- 复合
- array //数组
- object //对象
- 特殊
- null //空
- resouce //资源
科学计数法
1.234E4=1.234*10^4=12340
var_dump(); //获取变量类型并输出值
$f=1234e4;
var_dump($f); //float(12340)
精度损耗
浮点数在做计算时,有精度损耗。0.2、0.7
boolean
<?php
$a= 0;
var_dump((bool)$a);
$a= -0;
var_dump((bool)$a);
$a= 0.0;
var_dump((bool)$a);
$a= "";
var_dump((bool)$a);
$a= "0";
var_dump((bool)$a);
$a= null;
var_dump((bool)$a);
$a= [];
var_dump((bool)$a); //以上都为false
echo "----------------------------";
$a= .20;
var_dump((bool)$a);
$a= 0.00000000001;
var_dump((bool)$a);
$a= "0.0";
var_dump((bool)$a);
$a= " ";
var_dump((bool)$a);
$a= "-2";
var_dump((bool)$a);
$a= [0];
var_dump((bool)$a); //以上都为ture
string
三种定义方式:
- $s1='abcd'; //不解析变量
- $s2="abcd"; //解析变量
- $str=<<<mystr
。。。。。。
。。。。。。
mystr; //定界符,注意'mystr'定格且后边无字符
<?php
$str=<<<mystr
……
……
mystr;
$str=<<<'mystr' //文本中所有解析无效
...
...
mystr;
<?php
$a = 10;
$s1 ='abcd';
$s2 ="abcd";
echo $s1.$2."\n";
$s3="abcd{$a}kg"; //使用双引号解析变量时,避免冲突使用{}将变量包裹。
?>
变量为空
<?php
//null
var_dump($a);
$a=10;
unset($a);
var_dump($a);
$a=20;
$=null;
var_dump($a);
类型转换
不同类型想转换成统一类型
10+true //10+1
echo(10+"10a")."\n"; //10+10
字符串转成为数值:
"123abc"=123
"abc123"=0
"12b5ad"=12
"12.4abc"=12.4
"12e4bc"=12e4
常量
一经定义不可更改。
<?php
define("PI",3.1);
echo PI."\n";
echo(PI*10)."\n";
const LAMP="Linux Apache MySQL PHP\n";
echo LAMP;
系统常用常量:
<?php
echo "当前系统:".PHP_OS."<br/>";
echo "PHP版本:".PHP_VERSION."<br/>";
echo "当前文件名:".__FILE__."<br/>";
echo "当前行号:".__LINE__."<br/>";
get_defined_constants(); //可以获取系统中所有的常量
var_dump(is_numeric(123abc)); //非数值
var_dump(is_numeric("123")); //数值
var_dump(is_numeric('123')); //数值
异或:xor
相同为假,不同为真
true xor false =true
false xor true = true
true xor true =false
false xor false = false
<?php
echo `ls`;
echo `ls -l`; //执行linux下的命令
echo @strlen($x); //错误抑制符
instanceof //判断是否属于