PHP学习笔记1

//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出。

/* 【命名规则】 */

常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH

变量名建议用下划线方式分隔 // $var_name

函数名建议用驼峰命名法 // varName

定界符建议全大写 // <<<DING, <<<'DING'

文件名建议全小写和下划线、数字 // func_name.php

私有属性名、方法名建议加下划线 // private $_name _func

接口名建议加I_ // interface I_Name

/* 语言结构 */

array(), echo(), empty(), eval(), exit(), isset(), list(), print(), unset()

echo, print 可省略括号。

/* 预定义常量 */

PATH_SEPARATOR //路径分隔符(Windows为分号,类Unix为冒号)

DIRECTORY_SEPARATOR //目录分隔符

PHP_EOL //当前系统的换行符

PHP_VERSION //PHP版本号

PHP_OS //PHP服务操作系统

PHP_SAPI //用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI=='cli' 表示是在命令行下执行

PHP_INT_MAX INT最大值,32位平台时值为2147483647

PHP_INT_SIZE INT字长,32位平台时值为4(4字节)

M_PI //圆周率值

M_E //自然数

//PHP运行环境检测函数

php_sapi_name() //返回一个PHP与WEB服务器接口类型的小写字符串

该函数返回值与常量PHP_SAPI一致!

接口类型:SAPI(the Server API, SAPI)

可能值:aolserver、apache、apache2filter、apache2handler、caudium、cgi、cgi-fcgi、cli、 continuity、embed、isapi、litespeed milter、nsapi、phttpd、pi3web、roxen、thttpd、tux、webjames

/* 大小写问题 */

  • 类名、方法名、属性名、函数名:不区分大小写

  • 变量名、常量名、元素下标:区分大小写

/* 可变标识符 */

可变变量 $i = 3; $k = 'i'; echo $$k; //输出3

可变函数 function func() {echo 'hello!';} $i = 'func'; $i(); //输出hello

可变下标 $i = '1234'; $k = 3; echo i\[k]; //输出4

可变类名 class CLS{public $k = 'hello';} $i = 'CLS'; $j = new $i; echo $j->k;

可变属性 class CLS{public $k = 'hello';} $i = 'k'; $j = new CLS; echo j-\>i;

可变方法 class CLS{public function k(){echo 'hello';}} $i='k'; $j=new CLS; j-\>i();

/* 可变变量 */

* 用于业务逻辑判断得到某些具体信息

$var_name = "class_name";

var_name = "PHP0913"; // $class_name = "PHP0913";$class_name已存入内存中 var_dump($class_name); // var_dump($$var_name); /\* 变量函数 \*/ get_defined_vars //返回由所有已定义变量所组成的数组(包括环境变量、服务器变量和用户定义的变量) /\* unset() \*/ \* unset()仅删除当前变量名和引用,其值并未被删除 \* 引用传递中,删除一个变量及其引用,其他变量及引用均存在,且值依然存在 echo "\
"; $v3 = '值'; $v4 = \&$v3; unset($v4); var_dump($v3, $v4); /\* 变量的最长有效期 \*/ \* 当前脚本的执行周期,脚本执行结束,变量即消失 /\* 预定义变量/超全局变量 \*/ $GLOBALS $_COOKIE $_ENV $_FILES $_GET $_POST $_REQUEST $_SERVER $_SESSION /\* 常量定义 \*/ define(常量名, 常量值, \[区分大小写参数\]) //true表示不区分/false表示区分大小写 const 常量名 = 常量值 // 新,建议 常量名可以使用特殊字符 constant($name) // 获取常量名 // 例:echo constant('-_-'); /\* 常量相关函数 \*/ defined get_defined_constants /\* 预定义常量 \*/ __FILE__ 所在文件的绝对路径 __LINE__ 文件中的当前行号 __DIR__ 文件所在目录 __FUNCTION__ 函数名称 __CLASS__ 类的名称 __METHOD__ 类的方法名 __NAMESPACE__ 当前命名空间的名称 /\* 整型 \*/ 整型占用4字节,共4\*8=32位,最大值为2147483647,最小值为-2147483648,最小值的绝对值比最大值的大1 最高为表示正负,1表示负,0表示正 /\* 进制转换函数 \*/ 只能十进制与其他进制进行转换,只有六种 转换时,参数应是字符串(即不可含八进制的"0"或十六进制的"0x") dec bin oct hex hexdec() 十六进制转十进制 也可写hex2dec() dechex() 十进制转十六进制 也可写dec2hex() bindec() 二进制转十进制 也可写bin2dec() decbin() 十进制转二进制 也可写dex2bin() octdec() 八进制转十进制 也可写oct2dec() decoct() 十进制转八进制 也可写dec2oct() /\* 浮点数 \*/ 浮点数不能比较大小 !!! 几乎所有小数,在保存时都是近似值而不是精确值! 最大值:+/- 1.8E308 PHP所能保存的最长小数位:14位 /\* 单引号字符串 \*/ 单引号字符串中,只能转义反斜杠和单引号 /\* 双引号字符串 \*/ 只解析字符串一次 !!! eval 把字符串作为PHP代码执行 大括号包裹变量,可确定变量名界限。如:"aaa{$bbb}ccc" 双引号中可以将ASCII码转换为字符 "\\x61" -\> a // 字符串中不需0,整型中才是0x前导 "\\x49\\x54\\x43\\x41\\x53\\x54" -\> ITCAST 将ASCII转成字符函数chr() 将字符转成ASCII函数ord() #双引号转义列表 \\n 换行 \\r 回车 \\t 水平制表符 \\\\ 反斜线 \\$ 美元标记 \\v 垂直制表符 \\e Escape \\f 换页 \\" 双引号" \\\[0-7\]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符 \\x\[0-9A-Fa-f\]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符 /\* 定界符 \*/ herodoc - 功能同双引号,能解析 $str = \<\<\

相关推荐
阿伟来咯~4 分钟前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin26 分钟前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表37 分钟前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i39 分钟前
Python爬虫学习
爬虫·python·学习
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
密码小丑1 小时前
11月4日(内网横向移动(一))
笔记
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
鸭鸭梨吖1 小时前
产品经理笔记
笔记·产品经理
Chef_Chen2 小时前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
齐 飞2 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb