去评论
海欣资源

PHP入门学习教程

docker
2022/05/31 17:35:24
1. PHP介绍
    PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。
    在一个php文件中可以包括以下内容:
    l PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
    l PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
    l PHP 文件的默认文件扩展名是 “.php”
    php的使用:
        PHP 可以生成动态页面内容
        PHP 可以创建、打开、读取、写入、关闭服务器上的文件
        PHP 可以收集表单数据
        PHP 可以发送和接收 cookies
        PHP 可以添加、删除、修改您的数据库中的数据
        PHP 可以限制用户访问您的网站上的一些页面
        PHP 可以加密数据

2. 基本语法格式
PHP 脚本以 <?php 开始,以 ?> 结束

  1. <?php
  2. //php脚本的基本格式
  3. /*
  4. * 多行注释,跟java的注释方法相同
  5. * */
变量的命名
    变量以 $ 符号开始,后面跟着变量的名称
    变量名必须以字母或者下划线字符开始
    变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
    变量名不能包含空格

  1. //php的变量声明是以$开始的
  2. $num = 3.14;
  3. $str = "hello";
  4. /*static的关键字的使用
  5. * 当一个函数完成时,它的所有变量通常都会被删除。
  6. * 然而,有时候您希望某个局部变量不要被删除。
  7. * 要做到这一点,请在您第一次声明变量时使用 static 关键字:
  8. * */
  9. function test(){
  10.   static $n=0;
  11.   $n++;
  12.   echo "调用了一次".$n."\n";
  13. }
  14. test();test();test();
  15. ?>
3. 数据类型、常量以及字符串
php有5种数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

  1. <?php
  2. $a = "字符串类型";
  3. $b = 1234;//整形
  4. $c = -3.1415;//浮点型
  5. $d = 8E-3;
  6. $e = true;//boolean类型
  7. $f = array("A","B","C");//数组类型
  8. class obj{//php对象的声明
  9.   var $num;
  10.   function name() { }
  11. }
  12. $o = new obj();//对象实例化类型
  13. $g = NULL;//NULL
  14. var_dump($a);var_dump($b);var_dump($c);var_dump($d);
  15. var_dump($e);var_dump($f);var_dump($o);var_dump($g);
  16. ?>


  常量:常量是一个简单值的标识符。该值在脚本中不能改变。(在整个脚本中都能使用)
  一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

  1. <?php
  2. // 常量
  3. define("CL", "这是一个全局常量", true);
  4. echo CL; // 默认false,变量名区分大小写
  5. echo cl; // true不区分大小写
  6. ?>
预定义常量
    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操作系统环境时的值为 “ \ ”。

  1. <?php
  2. echo __FILE__;
  3. echo "<br/>";
  4. echo __LINE__;
  5. echo "<br/>";
  6. echo PHP_VERSION;
  7. echo "<br/>";
  8. echo PHP_OS;
  9. echo "<br/>";
  10. echo DIRECTORY_SEPARATOR;
  11. ?>
整型
    整数类型:保存整数数值(范围限制),4个字节存储数据。PHP中默认为有符号。
    在PHP中提供四种整形的定义方式,十进制定义,二进制定义,八进制定义和十六进制定义
    $a = 120 //十进制
    $a = 0b110 //二进制
    $a = 0120 //八进制
    $a = 0x120 //十六进制
    // 使用echo输出时。默认输出为十进制
    decbin() // 十进制转二进制
    decoct() // 十进制转八进制
    dechex() // 十进制转十六进制
    bindec() // 二进制转十进制
    bin2hex() //二进制转十六进制
字符串
字符串变量用于存储并处理文本。

  1. <?php

  2. $name='birenyin';

  3. //双引号 里面有变量 会 输出变量的值

  4. $str ="这是 $name ,这是birenyin,birenyin。";

  5. //单引号 如果里面有变量都作为一个字符串处理

  6. $str1 ='这是 $name,这是birenyin,birenyin。';

  7. echo $str;

  8. echo $str1;
  1. <?php
  2. // 字符串
  3. $text1 = "hello";
  4. $text2 = "world";
  5. echo $text1 . " " . $text2; // "."是并置运算符(连接)
  6. echo "返回字符串的长度:", strlen($text1);
  7. echo "返回子串的第一次位置:", strpos($text1, "l");
  8. ?>
字符的操作函数
addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符
addslashes — 使用反斜线引用字符串
bin2hex — 函数把包含数据的二进制字符串转换为十六进制值
chop — rtrim 的别名
chr — 返回指定的字符
chunk_split — 将字符串分割成小块
convert_cyr_string — 将字符由一种 Cyrillic 字符转换成另一种
convert_uudecode — 解码一个 uuencode 编码的字符串
convert_uuencode — 使用 uuencode 编码一个字符串
count_chars — 返回字符串所用字符的信息
crc32 — 计算一个字符串的 crc32 多项式
crypt — 单向字符串散列
echo — 输出一个或多个字符串
explode — 使用一个字符串分割另一个字符串
fprintf — 将格式化后的字符串写入到流
get_html_translation_table — 返回使用 htmlspecialchars 和 htmlentities 后的转换表
hebrev — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew)
hebrevc — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew),并且转换换行符
hex2bin — 转换十六进制字符串为二进制字符串
html_entity_decode — Convert HTML entities to their corresponding characters
htmlentities — 将字符转换为 HTML 转义字符
htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符
htmlspecialchars — 将特殊字符转换为 HTML 实体
implode — 将一个一维数组的值转化为字符串
join — 别名 implode
lcfirst — 使一个字符串的第一个字符小写
levenshtein — 计算两个字符串之间的编辑距离
localeconv — Get numeric formatting information
ltrim — 删除字符串开头的空白字符(或其他字符)
md5_file — 计算指定文件的 MD5 散列值
md5 — 计算字符串的 MD5 散列值
metaphone — Calculate the metaphone key of a string
money_format — 将数字格式化成货币字符串
nl_langinfo — Query language and locale information
nl2br — 在字符串所有新行之前插入 HTML 换行标记
number_format — 以千位分隔符方式格式化一个数字
ord — 转换字符串第一个字节为 0-255 之间的值
parse_str — 将字符串解析成多个变量
print — 输出字符串
printf — 输出格式化字符串
quoted_printable_decode — 将 quoted-printable 字符串转换为 8-bit 字符串
quoted_printable_encode — 将 8-bit 字符串转换成 quoted-printable 字符串
quotemeta — 转义元字符集
rtrim — 删除字符串末端的空白字符(或者其他字符)
setlocale — 设置地区信息
sha1_file — 计算文件的 sha1 散列值
sha1 — 计算字符串的 sha1 散列值
similar_text — 计算两个字符串的相似度
soundex — Calculate the soundex key of a string
sprintf — Return a formatted string
sscanf — 根据指定格式解析输入的字符
str_contains — Determine if a string contains a given substring
str_ends_with — Checks if a string ends with a given substring
str_getcsv — 解析 CSV 字符串为一个数组
str_ireplace — str_replace 的忽略大小写版本
str_pad — 使用另一个字符串填充字符串为指定长度
str_repeat — 重复一个字符串
str_replace — 子字符串替换
str_rot13 — 对字符串执行 ROT13 转换
str_shuffle — 随机打乱一个字符串
str_split — 将字符串转换为数组
str_starts_with — Checks if a string starts with a given substring
str_word_count — 返回字符串中单词的使用情况
strcasecmp — 二进制安全比较字符串(不区分大小写)
strchr — 别名 strstr
strcmp — 二进制安全字符串比较
strcoll — 基于区域设置的字符串比较
strcspn — 获取不匹配遮罩的起始子字符串的长度
strip_tags — 从字符串中去除 HTML 和 PHP 标记
stripcslashes — 反引用一个使用 addcslashes 转义的字符串
stripos — 查找字符串首次出现的位置(不区分大小写)
stripslashes — 反引用一个引用字符串
stristr — strstr 函数的忽略大小写版本
strlen — 获取字符串长度
strnatcasecmp — 使用“自然顺序”算法比较字符串(不区分大小写)
strnatcmp — 使用自然排序算法比较字符串
strncasecmp — 二进制安全比较字符串开头的若干个字符(不区分大小写)
strncmp — 二进制安全比较字符串开头的若干个字符
strpbrk — 在字符串中查找一组字符的任何一个字符
strpos — 查找字符串首次出现的位置
strrchr — 查找指定字符在字符串中的最后一次出现
strrev — 反转字符串
strripos — 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
strspn — 计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度。
strstr — 查找字符串的首次出现
strtok — 标记分割字符串
strtolower — 将字符串转化为小写
strtoupper — 将字符串转化为大写
strtr — 转换指定字符
substr_compare — 二进制安全比较字符串(从偏移位置比较指定长度)
substr_count — 计算字串出现的次数
substr_replace — 替换字符串的子串
substr — 返回字符串的子串
trim — 去除字符串首尾处的空白字符(或者其他字符)
ucfirst — 将字符串的首字母转换为大写
ucwords — 将字符串中每个单词的首字母转换为大写
vfprintf — 将格式化字符串写入流
vprintf — 输出格式化字符串
vsprintf — 返回格式化字符串
wordwrap — 打断字符串为指定数量的字串


  1. <?php
  2. $name='birenyin';
  3. //双引号 里面有变量 会 输出变量的值
  4. //$str =" 这是 $name birenyin,birenyin,birenyin。 ";
  5. //单引号 如果里面有变量都作为一个字符串处理
  6. //$str1 ='这是 $name birenyin,birenyin,birenyin。';
  7. $a='123456';
  8. //echo $str." 一共有 ".strlen($a)."字符";
  9. //去掉空格
  10. //echo trim($str);
  11. //echo $str1;
  12. //查找字符串 返回位置
  13. //echo strpos($str,'birenyin');
  14. //截取字符串
  15. //echo substr($str,strpos($str,'birenyin'),strpos($str,'birenyin'));
  16. //md5 加密
  17. //echo md5($a);
  18. //通过下标 取字符的值
  19. //echo $a[0];
  20. //字符串替换函数
  21. $a1=str_replace('1','0',$a);
  22. echo $a1;
  23. //遍历字符串
  24. for($i=0;$i<=strlen($a);$i++){
  25.   echo $a[$i].'</br>';
  26. }
  27. function mb_str_split( $string ) {
  28.    // /u表示把字符串当作utf-8处理,并把字符串开始和结束之前所有的字符串分割成数组
  29.   return preg_split('/(?<!^)(?!$)/u', $string );
  30. }
  31. for($i=0;$i<strlen($str);$i++) {
  32.   $k = $str[$i]; //输出乱码
  33. }
  34. foreach (mb_str_split($str) as $c)
  35. {
  36.   echo $c; //正常输出:中 文 测 试
  37. }
4. 运算符
基本运算符:


赋值运算符:

递增/递减运算符:


逻辑运算符: