草堂子

草堂虽简,心怀天下

记录进入前端的点点滴滴


php

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);
comments powered by Disqus