PHP基础(1)


每日一记

开始学习PHP

基本概念

PHP是超文本预处理器
运行在服务器端,内嵌在html脚本语言
由wampserver等集成环境,有mysql数据库和apache服务
使用localhost或127.0.0.1访问
写入的php文件一定要放在www目录下

php信息

phpinfo();显示所有php的信息
php.ini配置文件

PHP文件格式

<?php              //大小写都可以
代码部分
除最后一行以外每行结尾都要以;结尾
?>

可以不写php但是要改ini配置文件的short_open_tag=On,要重启

变量

$变量名(不能是数字或特殊符号开头,可以是中文,建议驼峰命名法)=’value’;
echo “$变量名”; //输出上面传入的值

基础语法

单引号:如果里面有变量都作为一个字符串处理
双引号:里面有变量会输出变量的值
尽量使用单引号————效率高

//单行注释
/* */多行注释
"\n"换行(双引号解释转义字符,单引号不解释)
\r和\t同上
'\\'时输出\
'\''时输出'
因为\将后面的转义成没意义的字符
变量和字符串之间用.连接,而且要'将字符串包起来
双引号中插入单引号,单引号再插入变量时,变量会解析成'value'
双引号中插入变量时在变量后面加空格或,
echo __FILE__;输出文件地址
echo __LINE__;输出行号
echo __DIR__;输出当前文件的文件夹的路径
echo PHP_VERSION;获取php版本号
echo __FUNCTION__;输出函数名
false的情况:空字符串,0,空数组,null

数据类型

<分类>
标量
    浮点类型:float
    整数型:int
    布尔型:boolean
    字符串:string(只要是引号包起来的)
混合类型
    数组:array
    对象:object
特殊类型
    空:null 
    资源:resourse
    
<转换>
intval()转整形
floatval()转浮点型
strval()转字符串
boolval()转布尔型

<注>
空转整形为0
空转浮点型变成浮点型的0
空转字符串变成空字符串
整形后面有字符串会清除字符串保留前面的数字
浮点型后面有字符串会清除字符串保留前面的全部数字

<判断>
is_array();
is_string()
is_bool();
is_float();
is_int();
is_object();
is_numeric();
is_resource();
is_null();
is_scalar();判断标量
gettype();只获取类型
var_dump();输出值和类型

PHP中提供四种整形的定义方式,十进制定义,二进制定义,八进制定义和十六进制定义
$a = 120 //十进制
$a = 0b110 //二进制
$a = 0120     //八进制
$a = 0x120    //十六进制

// 使用echo输出时。默认输出为十进制
decbin() // 十进制转二进制
decoct() // 十进制转八进制
dechex() // 十进制转十六进制
bindec() // 二进制转十进制
bin2hex() //二进制转十六进制    

字符串:字符串变量用于存储并处理文本。

系统常量

定义:
define(‘常量名字’,’常量值————必须是常量’);
变量可重新定义,使用的变量必须在上面定义
defind(A);判断A是否已经被定义了

使用 define() 函数设置常量:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
  该函数有三个参数:
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
<?php 
// 常量
define("CL", "这是一个全局常量", true);
echo CL; // 默认false,变量名区分大小写
echo cl; // true不区分大小写
?>

预定义常量
PHP预定义了许多常量,这些常量无需使用define()函数定义,可直接在程序中使用。下面列举了一些常用的PHP预定义常量。

(1)__FILE__(FILE前后分别是两个下画线):当前正在处理的脚本文件名,若使用在一个被引用的文件中(include或require),那么  它的值就是被引用的文件,而不是引用它的那个文件。

(2)__LINE__(LINE前后分别是两个下画线):正在处理的脚本文件的当前行数。

(3)PHP_VERSION:当前PHP预处理器的版本,如5.4.16。

(4)PHP_OS: PHP所在的操作系统的类型。如Linux。

(5)TRUE:表示逻辑真。FALSE:表示逻辑假。NULL:表示没有值或值不确定。

(6)DIRECTORY_SEPARATOR: 表示目录分隔符,UNIX或Linux操作系统环境时的值为“ / ”, Window操作系统环境时的值为 “ \ ”。

运算符

算术运算符:+   -   *   /   %
赋值运算符:=   +=   -=   /+   %=   .=
自增自减运算符:++   --   
比较运算符:<   >   >=   <=   ==   ===   !=(仅看值)   !==(看值和数据类型)   <>(相当于!=)
逻辑运算符:&&   ||   !(真假反转)
静态变量:static 放在函数体内,只会初始化一次变量,以后运行会记录上一次的值

预递增++x         //先加再返回
预递减--x         //先减再返回
后递增x++         //先返回再加
后递减x--         //先返回再减

非!               //不是true就返回true
或or/||           //一个true就true
与and/&&          //都true才true
异或xor           //有且仅有一个true才是true

三元运算符:
(expr1) ? (expr2) : (expr3)

流程控制

<单分支>
if (条件) {
         //真区间;
} else {
         //假区间;
}
后续代码;

<多分支>
switch (条件) {
    case 判断条件1 :
    case 判断条件2 :
    case 判断条件3 :
        echo 执行1 ;
        break;
    case 判断条件4 :
        echo 执行2 ;
        break;
    default:
        echo 执行3 ;      //否则
        break;
}

if (条件判断1) {
    echo 执行1 ;
} else if (条件判断2) {
    echo 执行2 ;
} else if (条件判断3) {
    echo 执行3 ;
} else {
    echo 执行4 ;
}

循环

for (初始条件;条件判断;执行A) {       //程序进行从初始条件开始逆时针
    echo 执行B ;
}
——————————————————————————————————————————————————————————————————————————————
while (条件判断) {
    echo 执行 ;
}
——————————————————————————————————————————————————————————————————————————————
do {
    echo 执行 ;
} while (条件判断);     //成立才接着循环
——————————————————————————————————————————————————————————————————————————————
continue从下一次循环语句开始
break终止循环语句

函数

function 函数名 (设置参数$...=...) {
    echo 执行;
    return 1;       //只返回不输出
}
函数名 ();
上面这样return的1是不会输出的,要输出就要在调用函数前echo
函数可以在任何位置调用,但是变量不能在上面调用
函数可以调用多次

函数体内声明的变量是局部变量,否则是全局变量
两者互不污染,同时局部变量与垃圾回收机制有关
$_GET $_POST $_COOKIE $_SESSION $GLOBALS  超全局变量(统一内外变量)

约束形参:
function sum (int $num1 , int $num2)
{
    return $num1 + $num2;
}
(sum('2.3',3));

约束返回值:
function sum (int $num1 , int $num2):string
{
    return $num1 + $num2;
}
(sum(4,5));

php7.0新特性:
使用  ...$函数名  来将数组里的值一一给形参赋值

匿名函数:
将一个没有函数名的函数赋值给一个变量并调用(就是没有名字的函数)

static的关键字的使用:
 * 当一个函数完成时,它的所有变量通常都会被删除。
 * 然而,有时候您希望某个局部变量不要被删除。
 * 要做到这一点,请在您第一次声明变量时使用 static 关键字:
function test(){
    static $n=0;
    $n++;
    echo "调用了一次".$n."\n";
}
test();test();test();
?>

PHP变量作用域

PHP 有三种不同的变量作用域:
local(局部):函数内部声明的变量只能在函数内部进行访问
global(全局):函数之外声明的变量只能在函数以外进行访问
static(静态):静态变量仅在局部函数域中存在,当函数执行离开此作用域时,其值不会消失(例如拿来判断循环退出的变量)
内部函数想要引用外部变量可以引入global关键字global $outer;
注释:static变量仍然是函数的局部变量

常用函数

查手册

书写建议

能加空格就加

每日一句

幸运的人一生被童年治愈,不幸的人用一生治愈童年。

评论
  目录