PHP最全笔记(一)(值得收藏,不时翻看一下)

PHP笔记来啦~绝对干货!

以下为我以前学PHP时做的笔记,时不时的也会添加一些基础知识点进去,有时还翻出来查查。

//语法错误(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 "<br />";    $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(‘-_-‘);/* 常量相关函数 */definedget_defined_constants/* 预定义常量 */
__FILE__            所在文件的绝对路径
__LINE__            文件中的当前行号
__DIR__            文件所在目录
__FUNCTION__        函数名称
__CLASS__            类的名称
__METHOD__        类的方法名
__NAMESPACE__        当前命名空间的名称
/* 整型 */
整型占用4字节,共4*8=32位,最大值为2147483647,最小值为-2147483648,最小值的绝对值比最大值的大1
最高为表示正负,1表示负,0表示正
/* 进制转换函数 */
只能十进制与其他进制进行转换,只有六种
转换时,参数应是字符串(即不可含八进制的“0”或十六进制的“0x”)
10     dec
2      bin
8      oct
16     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 = <<<AAA
字符串内容
AAA;
nowdoc - 功能同单引号,不能解析
只在开始位置有单引号
$str = <<<‘AAA‘
字符串内容
AAA;
/* 字符串的使用 */
可将字符串当作一个字符的集合来使用,可独立访问每个字符。仅适用于单字节字符(字母、数字、半角标点符号),像中文等不可用
$str = "abcd";
echo $str[3];   // d
echo $str{0};   // a
/* 【类型操作函数】 */
//获取/设置类型
gettype($var) //获取变量的数据类型
settype($var, $type) //设置变量的数据类型
//类型判断
is_int
is_float
is_null
is_string
is_resource
is_array
is_bool
is_object       
is_numeric      检测变量是否为数字或数字字符串
//转换成指定的数据类型
boolval
floatval
intval
strval
//强制转换类型
(int)
(float)
(string)
(bool)
(array)
(object)
(unset) //转换为NULL
(binary) 转换和 b前缀转换  //转换成二进制
var_dump        打印变量的相关信息。
                显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
                数组将递归展开值,通过缩进显示其结构。
var_export($var [,bool $return]) //输出或返回一个变量的字符串表示
    $return:为true,则返回变量执行后的结果
print_r         打印关于变量的易于理解的信息
empty           检查一个变量是否为空
isset           检测变量是否存在
/* 【流程控制】 */
//if语句的替代语法
if (条件判断) :
   语句块;
elseif (条件判断) :
   语句块;
else :
   语句块;
endif;
//流程控制的替代语法
在嵌入HTML时常用
将 { 换成 : , 将 } 换成 endif; 等
endif
endwhile
endfor
endforeach
endswitch
/* 【switch】 */
switch (条件) {
  case 状态值1:
       语句块;
       [break;]
  case 状态值2:
       语句块;
       [break;]
  case 状态值3:
  case 状态值4:
       语句块;
       [break;]
  default:
       语句块;
       [break;]
}
switch是状态分支,特殊的循环
先计算出状态值,再去与判断数作比较
break退出流程
/* 【for循环】 */
for (条件初始化表达式; 条件判断表达式; 条件变化表达式) {
循环体
}
假设循环体被执行了N次,则
条件初始化表达式被执行1次
条件判断表达式被执行N+1次
条件变化表达式被执行N次
注意:
   1. 循环变量在for语句结束后还可以继续使用,值为第一次失败的值
   2. 循环变量在for循环体内可以使用
   3. 任何条件表达式均可省略,但分号不能省略
       a. 条件初始化表达式被省略时,循环变量被赋值为null,在与条件判断时,
            进行类型转换后再比较。也可以在for语句外进行初始化。
       b. 条件判断表达式被省略时,表示循环为真,进入死循环
       c. 条件变化表达式被省略时,可以在循环体内完成
   4. 每个表达式均可由多条语句组成,每条语句之间使用逗号分割
        如果条件判断表达式由多条语句组成,都会执行,但只有最后一条语句才作为判断条件
   5. for只能遍历数值型索引下标数组
        数组长度函数:count()
   6. 应该将可以初始化的语句均放在条件初始化表达式内,这样可以省去很多执行次数

时间: 2024-10-14 09:45:30

PHP最全笔记(一)(值得收藏,不时翻看一下)的相关文章

10个Web前端值得收藏的背景全屏效果展示(附源码)(上)

作为一个前沿的 Web 开发者,对于 HTML5 和 现在流行的3D技术或多或少都有掌握.特别是在移动端大显身手.这篇文章挑选了10个绚丽的背景全景展示效果,希望对你有所帮助. 1.  JS图片背景全屏代码实现物理效果 玩法介绍:可以随意拖动鼠标.按住鼠标左键选中旋转物体.或者按住鼠标滑轮放大或者缩小,有不同的效果,赶紧来体验一下. 源码下载  /  在线演示 2.  CSS3学习 - 网站背景拉伸平铺jQuery插件 这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本

史上最全最常用的正则表达式-(基本够用值得收藏)

一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 9 有两位小数的正实数:^[0-9]

21个值得收藏的javas技巧

在本文中列出了21个值得收藏的Javascript技巧,在实际工作中,如果能适当运用,则大大提高工作效率. 1 Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如下: var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var str = fruits.valueOf(); 输出:apple,

创业的态度 值得收藏

本文来自First Round Review,他们准备的文章既讲故事,还同时向创业者提供可操作的建议,以助力打造优秀的公司.在最初创立的时候,Squarespace只是Anthony Casalena为自己搞的个人网站,在Wordpress和Drupal面前,它不值一提.今天,它已然崛起,累计融资达7850万美元.用了对的方法,解决了对的问题,它于是逐渐壮大成了今天的样子... Squarespace 的最初版本只是 Anthony Casalena 为自己搞的个人网站.这是一个普通的创业故事.

21个值得收藏的Javascript技巧

在本文中列出了21个值得收藏的Javascript技巧,在实际工作中,如果能适当运用,则大大提高工作效率. 1  Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如下: 1 2 var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var str = fruits.valueOf(); 输出:a

排毒清肠9个小偏方,值得收藏!

排毒清肠9个小偏方,值得收藏!上海疝气医院医生介绍:排毒清肠不一定要动刀,下面为大家介绍9种排毒清肠的小偏方,不妨来看一下. 1.早餐喝咖啡 (1)早上喝咖啡消肿:咖啡具有利尿的效果. (2)咖啡因刺激副交感神经,促进肠道的蠕动. (3)有些人喝冲泡式咖啡会觉得效果比较明显,因为冲泡式的咖啡因含量较高的关系. 2.早上空腹喝水法 (1)夜间肠胃都处于休息状态,早上未进食前喝水肠胃运作会比平常快速.建议早上空腹时喝两杯的温开水,一杯约240cc. (2)将玫瑰花和蜜枣干加开水泡开当水喝.蜜枣和玫瑰

linux tomcat一键维护脚本(值得收藏)

<span style="font-family: Arial, Helvetica, sans-serif;">#! /bin/sh</span> a="/usr/share/tomcat7/webapps/ROOT" b="/usr/share/tomcat7/webapps/ROOT.war" c="ROOT.war" tomcat_stop="/usr/share/tomcat7/bi

【Java并发编程】并发编程大合集-值得收藏

http://blog.csdn.net/ns_code/article/details/17539599这个博主的关于java并发编程系列很不错,值得收藏. 为了方便各位网友学习以及方便自己复习之用,将Java并发编程系列内容系列内容按照由浅入深的学习顺序总结如下,点击相应的标题即可跳转到对应的文章    [Java并发编程]实现多线程的两种方法    [Java并发编程]线程的中断    [Java并发编程]正确挂起.恢复.终止线程    [Java并发编程]守护线程和线程阻塞    [Ja

IOS常见错误分析解决(一直更新) 你值得收藏-综合贴

-来自收藏总结 综合了好多的常见错误 1:clang failed with exit code 254 一:检测代码中 是否 有 NSLog 打印了 返回 void 的值. 2:Verify exit code of build task with internal identifier 'CopyPNGFile 123.png' 一:将出错的png,用PhotoShop重新转换一次,  如果PhotoShop打不开,改后缀为Jpg 试试. 转换时,请使用 :存储为Web或设备所使用的格式格式

6个Web前端值得收藏很实用的菜单模板(上)

1.  CSS3实现黑色带图标导航 源码下载/  在线演示 2.  jquery商城红色分类导航 源码下载/  在线演示 3.商城左侧分类jquery菜单 jquery实现的,会在当鼠标光标移动到接近(或通过)视口(viewport)的顶部的时候触发. 源码下载/   在线演示 6个Web前端值得收藏很实用的菜单模板(上)