【嘉兴东臣PHP】Apache php

   这周学习了php,在安装完配置环境后,下面是所学知识点:php

1、php基础

关于PHP标识:html

每个PHP是以 <?php 开头 以 ?> 结尾jquery

注意:php文件里是能够写HTML的。可是须要注意的是,不能写在PHP的范围内,也就是不能再<?php ?>内,只能在以外写。好比 <?php echo 123; ?> <h1>123</h1>web

echo 是 PHP 输出函数。 关于PHP输出函数有如下几种:json

一、echo  输出基础类型,如字符串 和 数字,bool等数组

二、print 同上,可是有返回值,1和0服务器

三、printf 也是输出格式化字符串网络

四、print_r 输出集合类型,有必定规则。函数

五、var_dump 输出集合类型,没有规则学习

6 echo print 不会输出bool类型

PHP变量是以$符号标识的。

注意:变量只能如下划线_ 和大小写字母开头,在变量过程当中,只能有下划线 大小写字母 以及 数字。不要有空格!运算符等!正确:$a $ab $_ab错误: $1a $a b

在PHP中有通配符,%s 表明是匹配字符串类型,%u %d %i 都是匹配整型  %f 表明是匹配浮点类型 %.2f 表明是匹配浮点类型 保留2个小数。

printf() 和 sprintf()的区别:

printf() 返回的是 字符串 和 长度。

sprintf() 返回的是只是格式化的字符串

如: sprintf("http://aiqiyi.com/%s", "寻龙诀");

变量赋值是指将一个变量的值给另外一个变量。如:

$a = 10;

$b = $a;

$b = 20;

echo $a;//10

echo $b;//20

引用赋值是指将一个变量的内存地址给另外一个变量,由于若是整个给内存地址的变量一旦发生改变,那么另外一个变量立马改变。

$a = 10;

$b = &$a;

$b = 20;

echo $a; //20

echo $b; //20

PHP中字符串链接 不用+ 用 .

函数做用域

在PHP中,全局变量改变,一般不会影响到局部变量,除非你必定要去使用全局变量。那么请你一个关键字 叫作global。如:

$number = 1000;

funciton abc(){

     global $number;

     echo $number;

}

abc();

static 关键字通常用于静态变量,而静态变量的做用就是让这个变量在不使用的时候 不会被释放,而是长期保留。

PHP中 {}用于表示同时编译括号内的变量,如:

$a = 10 ; echo {$$a};


PHP中的数据类型:

整型、浮点型、布尔型、字符串

数组、对象、资源类型、NULL


单引号和双引号的区别:

双引用会进一步解析内部的变量定义,而单引号则会直接输出这个字符,由于理论上来讲单引号快一些。


PHP中的数组、字典的关键字是array

如  $a = array(); //定义了一个空数组

$a = array( 1, 2, 3 ); //定义了一个数组有3个元素。

遍历数组,第一种方法,count为数组计数:

for( $i = 0 ; $i < count($a); $i++ ){

    echo $a[$i];

}

遍历数组,第二种方法,foreach:

foreach( $a as $key ){

   echo $key;//$key名字为变量名 随便定义

}


字典:$a = array( "name" => "abc", "a" => "b");

在php的字典中 key => value 的形式存在的。

遍历字典:

foreach( $a as $key => $value ){

      echo $key."-".$value;

}

2、php函数

   PHP函数很是强大

一、rand 随机数。rand(最小值,最大值)

二、array_rand 随机数组。提取数组中的任意一个元素。注意是提取下标array_rand(数组,提取数);

三、array_search 能够快速找到数组或者字典中的某个值,返回下标,若是没有找到返回的0或者false。

注意:这个函数由于会返回0,可是0在数组里是有下标的,所以判断的时候请用 恒等 === 

array_search( "查找的值", 集合 );

四、array_unique 给集合去重,若是发现重复的元素直接删除 注意:它会把重复的值所有删除,也就是的标会有不存在,由于建议用foreach 

五、unset(数组[下标]/字典[元素]) 移除集合里的某个键值

$arr = array( 1, 2, 3 );

如: unset( $arr[0] );

      isset(数组[下标]/字典[元素]) 判断某个下标或键值是否存在

六、die() 设置程序断点,用于程序调试

七、array_unshift 在集合头部插入一个或者多个单元。如:array_unshift( $arr , "a", "b" );

     array_push(数组,“”,“”) 在尾部插入一个或者多个元素。 也能够用 数组[ ] = 元素。

八、array_pop(数组) 删除集合最后一个元素。

九、array_shift (数组)删除集合第一个元素。

十、implode 将数组以特殊符号,连接成字符串。

十一、explode 将字符串以特殊符号进行分割成数组。

十二、洗牌: shuffle( 数组 ) 数组打乱,注意它会将原数组打乱。

3、php语法增强

 set_time_limit();用于php脚本的执行时间 同等于在php.ini中的max_execution_time 默认执行30秒。

若是要设置成执行无限秒 set_time_limit( 0 );

sleep();用于暂停的秒数

换行:\n 用于脚本  <br/> 用于网页

is_array($arr) 检测变量是否为数组

array_keys 返回集合的键

array_values 返回集合的值

in_array 判断集合中是否有某个值,如in_array( "a",$arr); 返回的是布尔值。

array_key_exists 判断数组中是否包含了某个键值,返回的是布尔值。

array_count_values 返回的是数组中,全部值出现的次数

在php中的变量比较,优先转化成有同一类型的变量,优先转化成整型,如:0 == "name" 那么优先转化"name" 为0 所以 它们是相等的。

字符串中,转化后若是判断是浮点则直接用浮点跟整型比较一次。

sort() 升序 rsort() 倒序

判断某个变量的数据类型用 is_类型

如:

is_string 判断字符串

is_int 判断整型

is_array 判断数组

is_float 判断浮点

转化类型函数:

intval

floatval

strval

// 一般这种状况下:浮点*整型(字符串等) 会有二进制的问题,

//所以,若是须要解决有2个渠道:

//一、在输出以前用strval函数。

//二、请用round函数,功能是四舍五入

注意:在PHP中“a”+/-/*/ “b” 都是须要转化成整型或者字符串类型运算的。

强制转化成整型通常都是从左往右查看,若是为数字则保留,其余的则直接为0 

如:10a 强制转化为 10  , a10 强制转化为 0 

empty() 通常用于判断集合是否为空。

如:if( empty($arr) ) echo "集合为空"; 

var_export 输出或返回一个变量的字符串表示

经过将函数的第二个参数设置为 TRUE,从而返回变量的表示。 

宏:define 至关于超级全局变量。

define( "参数名", 值);

如: define("A","Hello"); 

echo A; //注意这里不要加$;

@ 忽略警告或者错误。继续执行下面的

echo "Hello";

echo @(1/0); //加了@会自动忽略掉警告或者错误

echo "Hello";

整个程式输出的是Hello Hello;

魔术方法

__FILE__ 当前文件的路径

__LINE__ 定义的行数

__DIR__  当前文件的路径 不包括这个文件名

如:

define( "FPATH" , __FILE__  );

define( "Line" , __LINE__  );

define( "DIR1", __DIR__ );

$global 申请使用或者定义 全局变量。

$_SERVER 打印当前服务器的详细信息。

$_REQUEST 同时接收POST/GET方式请求

$_POST 接收POST方式请求

$_GET 接收GET方式请求

    global a://只是把当前的变量去引用了一块儿全局变量

    $GLOBALS //直接返回的是一个数组,打印的是全局申请变量的值,包括$_GET $_POST.

 //var_export( $GLOBALS );

4、文件操做

一、函数参数默认值

 在php中参数是有默认值的,若是某个参数不传值,那就直接执行默认值 如:function a( $a = 10 ){}

文件通常分有几种路径:

一、利用http访问的路径。

  通常用于webserver等网络访问某个文件。若是http://localhost/index.html 其实上就是访问你在webserver配置文件下设置的根目录下的index.html。若是你须要访问根目录下的某个文件夹里的文件,请在访问的时候,带上文件夹的名字访问。如:

http://localhost/文件夹名(不要中文)/index.html

二、利用file访问的路径。

  通常用于本地访问,file是指找到本地的某个文件夹里的文件。如:file://C://PHP/PHPWeb/jquery.1.8.0.js  

 注意:该种方法,通常用于简单的页面制做,布恩那个用于PHP开发和网络开发。

路径其实也分有两种表示方式:

一、绝对路径

  特指完整的路径 在file中为: file://c:/php/phpweb/index.html 。在http中引用某个文件为: www.baidu.com/dev/jquery.js

二、相对路径

  特指相对于当前目录下,所引用的那个文件的路径。如http下 引用某个文件  dev/jquery.js

二、json_encode 集合转化为json编码格式。

三、json_decode(集合,true) json转化为数组、字典格式,若是不加true 可能会转化为OBJECT 对象格式。

die( 输出语句 ); 断点

exit( 输出语句 );退出

四、文件操做

 一、is_writable 判断是否可写

  (file_exists 判断文件是否存在)

 二、fopen  打开一个文件

 三、fread  读取一个文件

 四、filesize  返回当前文件长度

 五、fwrite  写入一个文件

 六、fclose 关闭一个文件

一、判断文件是否可写

二、打开一个文件。

三、读或者写一个文件

四、关闭一个文件

fopen 参数详解

 r  read 只读

 w  写

 a  追加

 注意:写会覆盖!

总结:

        在学习php以前,安装配置环境就用了好久,在老黄的指导下一步一步的安装完,而后卸载本身从新安装一遍,了解了php的工做原理。php的语法很精简,看起来也是容易懂。练习仍是一如既往的没有头绪,只能靠老黄的优秀代码增加本身。勤加练习,相信有一天会突破瓶颈的。

相关文章
相关标签/搜索