PHP学习笔记—-第一部分
1.'<?php'开始'?>'结束
2.单行注释//或者#,多行注释/× ... ×/
3.PHP对大小写不敏感,变量常量名除外
4.变量----存储数据的容器
不必告知 PHP 变量的数据类型。PHP 根据它的值,自动把变量转换为正确的数据类型。
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
PHP 没有创建变量的命令。变量会在首次为其赋值时被创建
作用域:local(局部) global(全局) static(静态)
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词
关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,
【就是函数内要访问或操作全局变量】
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。
下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。【极度害怕
栗子:
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; //这里的$GLOBALS['y']代表全局变量y,后面的几个也是这个道理 /× 这个操作等同于: global $x,$y; $y=$x+$y; ×/ } myTest(); echo $y; // 输出 15 ?>
static 关键词
通常,当函数完成/执行后,会删除所有变量。
不过,有时我要在次调用该函数时不删除上次调用的某个局部变量。。
要完成这一点,请在您首次声明局部变量时使用 static 关键词:
//注释:该变量仍然是函数的局部变量。
5.输出:
可输出html标签让浏览器识别
echo和print使用的时候不用加括号,加上也可以。
echo
显示多个值的时候可以用逗号隔开。只支持基本类型,布尔型除外,
//此句已被注释 ---echo true的时候显示1,echo false的时候啥都没有。
print和echo基本一致。但是print 不支持逗号分隔多个显示变量的语法。
6.数据结构:
字符串(string)
可以是引号内的任何文本。您可以使用单引号或双引号:
整数(int)
整数是没有小数的数字。
可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
栗子:
//注意:var_dump() 会返回并输出变量的数据类型和值: <?php $x = 5985; var_dump($x); echo "<br>"; $x = -345; // 负数 var_dump($x); echo "<br>"; $x = 0x8C; // 十六进制数 var_dump($x); echo "<br>"; $x = 047; // 八进制数 var_dump($x); ?>
浮点数(float)
逻辑(bool) true 或 false。
????对象(class)【黑人问号.jpeg
对象是存储数据和有关如何处理数据的信息的数据类型。
必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
NULL 值
NULL 是数据类型 NULL 唯一可能的值。
NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
7.字符串函数
strlen() 函数返回字符串的长度,以字符计。
strpos() 函数用于检索字符串内指定的字符或文本。
//注:字符串中首字符的位置是 0 而不是 1。
8.神奇的常量
定义:使用define函数定义滴格式:
define(常量名【似乎要加引号】,常量的值,是否允许大小写不敏感【默认为false】)
9.运算符
算数运算符:加减乘除取模【+,—,×,/,%】
//------------------------------------------------------------------------------------------------------------
赋值运算符
//------------------------------------------------------------------------------------------------------------
字符串运算符
//------------------------------------------------------------------------------------------------------------
递增/递减运算符 ++$x $x++ --$x $x--
和CPP里面一样,前缀是什么就先执行什么++就先给变量递增在执行其他,
前缀是变量就先输出变量再递增【或递减】
//------------------------------------------------------------------------------------------------------------
比较运算符
//------------------------------------------------------------------------------------------------------------
逻辑运算符
//------------------------------------------------------------------------------------------------------------
数组运算符
10.一些语句:
// if:---------------------------------------- if (条件为真) { 要执行的代码; } if (条件为真) { 要执行的代码; } else { 要执行的代码;} (条件为真) { 要执行的代码; } elseif (条件为真) { 要执行的代码;}
//switch:---------------------------------------- switch ( ) { case : 要执行的代码; ……; break; case : 要执行的代码; ……; break; default: //类似else 要执行的代码; ……; }
//while :---------------------------------------- while (条件为真 ) { 要执行的代码; ……; }
//do...while :---------------------------------------- do { 要执行的代码; } while (条件为真);
//for :---------------------------------------- for (初始化循环计数器的值r; 评估每个循环迭代;操作循环计数器的值) { 要执行的代码; }
//FOReach:---------------------------------------- //每次循环把数组里对应的变量赋值给变量yyy【感觉很鸡肋,好吧,其实并不 foreach (数组变量 as 一个变量yyy) { 语句 }
11.函数:
function 函数名(参数表)//函数名对大小写不敏感 { 被执行的代码; }
关于默认参数值
如果我们调用这个函数时没有参数,它的参数会取默认值:
function 函数名(参数=默认值,参数=默认值……) { 语句; }
如需使函数返回值,请使用 return 语句//可以不return啊~\(≧▽≦)/~
12.数组 【没赋值的元素就不存在
count() 函数用于返回数组的元素数
//----------------------------------------
索引数组 - 带有数字索引【就是数字下标qwq】的数组
索引是自动分配的(索引从 0 开始):
格式:
(1)$数组变量名=array(值,值,值……);
(2)
$数组变量名[0]=值;
$数组变量名[1]=值;
……
//----------------------------------------
关联数组 - 带有指定键的数组【下标自定义qwq
格式:
(1) $数组变量名=array(下标1=>值,下标2=>值……);
(2) $数组变量名[下标1]=值;
$数组变量名[下标2]=值;
……
遍历关联数组时,foreach就有用~\(≧▽≦)/~啦啦啦
foreach($数组变量名 as 下标赋给的值=>数组值赋给的变量) { 语句; }
//----------------------------------------
多维数组 - 包含一个或多个数组的数组
【待补充】
13.数组排序
排序函数【哇咔哇咔哇,终于可以不用手码快排啦~\(≧▽≦)/~啦啦啦
//键应该是指下标吧
sort() - 对数组的值进行升序排序 --索引数组
rsort() - 对数组的值进行降序排序 --索引数组
asort() - 根据值,以升序对关联数组进行排序 --关联数组
arsort() - 根据值,以降序对关联数组进行排序 --关联数组
ksort() - 根据键,以升序对关联数组进行排序 --关联数组
krsort() - 根据键,以降序对关联数组进行排序 --关联数组
14.超全局变量
在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。
在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
详见 http://www.w3school.com.cn/php/php_superglobals.asp