PHP基础1-基础语法

1 .php标记

常用类型1 

<?php
echo “hello world!”
?>

常用类型2 

<script language = “php”>
echo “hello world”;
</script>

不常用类型1(需修改php.ini的配置文件)

<?
echo”hello php”;
?>

不常用类型2(需修改php.ini的配置文件)

<% echo “hello php”; %> //asp风格

2 . php注释

1 . 多行注释

/*
注释的内容

*/

2 .  单行注释

//被注释的内容

3 . 文档注释

/※ ※
※被注释的内容
※被注释的内容
※/

3 . 变量的声明

    1 . 变量以$开头,后面跟变量名
    2 . 变量字母,数字,下划线组成,不能以数字开头
    3 . 变量名区分大小写
    4 . php与JavaScript类似是弱类型语言,不需要实现声明变量的数据类型.
    5 . php可以不显示的声明变量而直接使用

4 . 变量的赋值

   1 . 值赋值;即将赋值表达式的值赋值给变量(直接赋值);
   2 . 引用赋值:php4引用了引用赋值,创建的一个变量与另一个变量引起的内容相同
例:
 $var_1 = "hello";
 $var_2 = &$var_1;  //把变量var_1的内存地址赋值给var_1,即引用赋值

5 . 变量的变量

$var_1 = "hello";
$$var_1 = "world";
echo $var_1;   //hello
echo $hello;     //world
echo ${$var_1} //world

// 函数内部修改函数外部变量的值
// 如果需要函数内修改函数外部变量,参数前面需要添加 & 符号,进行取址操作

            function test(&$a) {
                $a *= 10;
            }
            $b = 10;
            test($b);
            echo "<hr>b = " . $b;

6 . 超全局变量

1.php提供了很多有用的预定的变量,用于提供大量与环境相关的信息
2.打印/输出超全局变量:print_r($_SERVER)
(1). $_SEVER服务器变量,该全局变量包含着服务器和客户端配置及当前相关信息;

$_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的[主机名].
$_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html”。
$_SERVER['[HTTP_REFERER] #链接到当前页面的前一页面的 URL 地址。
$_SERVER['[HTTP_USER_AGENT] #当前请求的 User-Agent: 头部的内容。

(2). $GET该变量包含使用GET方法传递的参数的有关信息

print_r($GET);  
$id = $_GET['id'];

(3). $GET该变量包含使用POST方法传递的参数的有关信息

print_r($_POST);  
$id = $_POST['id'];

(4) . $_REQUEST该变量记录着通过各种输入方法传递给脚本的变量,如POST,GET 但速度慢且不安全
(5) . $_COOKIE cookie 变量数组
(6) . $_SESSION 会话变量数组
(7) . $_FILES 与传文件有关的变量数组
(8) . $_ENV 环境变量数组
(9) . $_GLOBALS 所有全局变量

7 . 常量

常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。

如需设置常量,请使用 define() 函数 – 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。

<?php
define("PI", "3.14");
echo PI;
?>

(1) 内置常量

PHP_OS   //php所有操作系统的名称
PHP_VERAION  //当前php的版本号

(2) . 魔术常量

LINE文件中的当前行号。
FILE文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
DIR文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
FUNCTION函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
CLASS类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 CLASS 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。
TRAITTrait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
METHOD类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
NAMESPACE当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)

8.数据类型

一. 标准数据类型
1 . 字符串

字符串有三种定方式:单引号,双引号,定界符(heredoc);
 单引号字符串中出现的变量不会被变量的值替代
 双引号字符串中最重要的一点是其中的变量会被变量值替代

 如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名,
 如果想明确的制定名字的结束,用花括号{}把变量名括起来

 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
 2.在PHP定界符中的任何特殊字符都不需要转义;3.PHP定界符中的PHP变量会被正常的用其值来替换。
  **PHP中的定界符格式是这样的:**
<<<Eof
……
Eof;
 
报错的原因:
**不仅EOF;前边不能有空格,而且echo<<<EOF后面也不能有空格。**

字符串转义

\n换行
\r回车
\t水平制表符(tab键)
\\       \反斜杠
\$       $美元符
\"        "双引号

2 . 整型(integer)
$age = 25
3 . 浮点型(float,double)
$num = 5.34
4 . 布尔型(bool)

$bo = TRUE;
$bo = FALSE;

二,复合数据类型

  1. 数组
    `$week = array(‘星期1′,’星期二’,’星期三’);
    2 . 对象
    $db = new db;
    三,特殊数据类型
  2. 资源
    $fh = fopen(“text.txt”,”r”);
    2.null;
    null 无,表示没有值;
    没有设置为任何预定义的变量;
    明确的赋值为null;
    使用函数unset()清除;

四.自动类型转换

PHP 的自动类型转换的一个例子是加号“+”。
如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,
结果也是浮点数。否则操作数会被解释为整数,结果也是整数。
注意这并没有改变这些操作数本身的类型;
改变的仅是这些操作数如何被求值以及表达式本身的类型。

五,类型相关函数

  1. gettype()返回变量类型,共有8个可能的值
    string, integer,float,boolean,array,object,null,unknow
    2 . is_ytpe()查看变量是否是某个类型,是则返回true,否返回false
    3 . var_dump() 获取变量的值和类型的详细信息;

函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.

    原文作者:寒梁沐月
    原文地址: https://www.jianshu.com/p/4f68ef529064
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞