php基础语法
php标记
1.<? php echo "hello php";?>
2.<? echo "hello world";?>//短标记
3.<script language="php">echo "hello php"</script>
4.<% echo "hello php";%>//asp风格
注:1,3可以直接用,但是2,4需要修改php.ini的配置文件才能使用,只做了解。
PHP注释
1.多行注释
/*
注释的内容
注释的内容
*/
2.单行注释
//被注释的内容
3.文档注释
/**
*被注释的文档
*被注释的文档
*/
变量
变量的声明
变量以$开头,后面跟变量名
变量字母,数字,下划线组成,不以数字开头
变量名区分大小写
php于JavaScript类似的弱类型语言,不需要实现声明变量的数据类型
php可以不显示声明变量而直接使用(好的编程习惯 所有的变量在使用前要进行声明)
例:$age = 28;
$color = "red";hp"
$sum = 15+"12";//$sum = 27;
变量的赋值
1.值赋值:即将赋值表达式的值复制给变量(直接赋值)
2.引用赋值:php4引用了引用赋值,创建的一个变量与另一个变量引用的内容相同
例:
$var_1 = "hellow php";
$var_2 = &$var_1;//把变量var_1的内存地址赋值给var_2,即引用赋值。
变量的变量
$var_1 = "hello";
$$var_1="php";
echo $var_1;//输出hello
echo $hello://输出php
echo ${$var_1};//输出php
超全局变量(做了解)
php提供了很多预定于的变量,用于提供大量与环境有关的信息
打印/输出超全局变量:parent_r($_SERVER)
1.$_SERVER服务器变量,该全局变量包含着服务器和客户端配置及当前请求环境有关的信息
$_SERVER['SERVER_NAME'];当前运行脚本所在的服务器的主机名
$_SERVER['REMOTE_ADDR'];客户端IP地址
$_SERVER['REQUEST_URI'];URL的路径部分
$_SERVER['HTTP_USER_AGENT'];操作系统和浏览器的相关信息
2.$_GET该变量包含使用GET方法的传递的阐述的有关信息
例:
url:http://localhost/test.php?id=100&page=2
$id = $_GET['id'];
$page = $_GET['page'];
3.$_POST该变量包含使用POST方法传递的参数的有关信息
例:
<form name="reg" action="test.php" method="post">
用户名:<input type="text" name="username"/>
密码:<input type="password" name="passwd">
<input type="submit" value="提交">
</form>
php:
$username = $_POST['username'];
$passwd = $_POST[passwd'']
4.$_REQUEST 该变量记录着通过各种输入方法传递给脚本的变量,如GET POST,但不要用这个超级全局变量,因为它不安全而且速度比较慢。
5.$_COOKIE cookie变量数组
6.$_SESSION 会话变量数组
7.$_FILES 与上传文件有关的变量数组
8.$_ENV 环境变量数组
9.$_GLOBALS 所有全局变量数组
常量
常量的定义
常量是指在程序执行中无法修改的值。如PI(3.1415926);
在脚本执行期间该值不能改变;
常量对大小写敏感,通常常量名总是大写;
常量是全局的,可以在脚本的任何地方引用;
常量分为内置常量和自定义常量;
常量使用define()函数定义;
例:define('PI',3.1415926);
echo PI;//3.1415026
1.内置常量
PHP_OS php所在操作系统的名称
PHP_VERSION当前php的版本号
2.魔术常量
__LINE__文件中的当前行号;
__FILE__文件的完整路径和文件名;
__FUNCTION__函数名称;
__CLASS__类的名称;
__METHOD__ 类的方法名;
数据类型
标量数据类型
字符串
字符串有三种定义方式:单引号,双引号,定界符(heredoc);
单引号字符串中出现的变量不会被变量的值替代;
双引号字符串中最重要的一点是其中的变量会被变量值替代;
如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名,如果想明确的指定名字的范围,用花括号把变量名括起来。
例:
$beer = "Heineken";
echo "He drank some {$beer}s"
字符串定界的方法使用定界符语法“<<<”
例:
$str = <<<EOD
Example of string
using heredoc syntax.
EOD;
echo $str
在php定界符中的任何特殊的字符,都不需要转义
php定界符中的php变量会被正常的用其他值来代替
使用定界符要注意:
结束标识符所在的行不能包含任何其它的字符,这意味着该标识符不能被缩进,在分好之前之后都不能有任何空格或制表符;
字符串转义
\n 换行
\r 回车
\t 水平制表符(tab键)
\\ \(反斜杠)
\$ $(美元符)
\" "(双引号)
$age = 25;//整型(integer)
$num = 5.34;//浮点数(float,double)
$bo = TRUE;
$bo = FALSE;//布尔型(bool)
复合数据类型
1.数组
$week = array('星期一','星期二','星期三')
2.对象
$db = ner db;
特殊数据类型
1.资源
$fh = fopen("test.txt","r")
2.null
null无,表示没有值,null不表示空格,也不表示0;以下情况,则认为是null
没有设置为任何预定义的变量;
明确的赋值为null;
使用函数unset()清楚;
自动类型转换
因为php对于类型定义非常的松散,所以有时会根据引用变量的环境,将变量自动转换为最合适的类型;
例1:
$num = 5;
$str = "15";
echo $num + $str;
例2:
$str = "100 hello";
$num = 200;
echo $num + $str;
例3:
$str = '1.2';
if($str){
echo 'hello world';
}
类型相关函数
1.gettype()返回变量的类型,共有8个可能的值 string、integer、float、boolean、array、object、null、unknow;
例:$str = 'hello';
echo gettype($str);
2.is_type()查看变量是否属于某个类型,是返回TRUE,否返回FALSE;
例:$arr = array(1);
echo is_array($arr);
$num = 5;
echo is_int($num);
3.var_dump()获取变量的值和类型的详细信息
例:$str='hellow';
var_dump($str);
$arr = array('a','b','c');
var_dump($arr);
二维数组
数组元素的值也可以是数组
例:$result=array(
array(
'pname'='nokia n73',
'price'=1500,
),
'pname'='nokia n73',
'price'=1500,
),
);
遍历二维数组:
foreach($products as $product_k=>$product_v){
foreach($product_v as $key=>$var){
echo $key.'=>'.$val;
}
}
字符串
1.echo
echo(string arg1 [,string…])是一个语法,不是函数,echo没有返回值,使用逗号分隔;
例:$var="world";
echo "hellow" world;
2.print
int print(string arg)实际上不是一个函数(它是一个语言结构)
例:print(“hello $var”);
print “hello world”;
3.printf()
功能:格式化输出字符串;
%b二进制输出//brianry
%d整数输出//data
%f浮点数输出//float
%s字符串输出//string
例:$str = "123 test";
printf("整数:%d",$str);
printf("浮点数:%.2f",$str);
printf("字符串:%s",$str);
