总结:通过一个星期的php初步学习,学了怎么安装apache和php,也学了很多php基本函数,同时遇到一些问题,打好基础,再去深入。对转化类型函数还不是特别懂。
PHP输出函数:
echo 输出基础类型,例如:字符串和数字 布尔等
print 与echo基本一样,永远返回值为1
printf 输出格式化字符串
print_r 输出集合 无规则的
PHP 变量是以$符号标识的
注意变量只能以下划线_和大小写字母开头,不要有空格!运算符等!
例如:$a $ab $a_b
错误的 $1a $a b
在PHP中有通配符,%s代表是匹配字符串类型,%u %d %i 都是匹配整型 %f代表是匹配浮点类型 %.2f代表是匹配浮点类型 保留2位小数
print()和sprintf()的区别:
printf() 返回的是字符串和长度。
sprintf() 返回的只是格式化的字符串
变量赋值是指将一个变量的值给另一个变量
引用赋值是指将一个变量的内存地址给另一个变量,一个变量的值改变,另一个变量也会马上发生改变。
php中字符串连接 不用+ 用.
static 关键字一般用于静态变量,而静态变量的作用就是让这个变量在不使用的时候 不会被释放,而是长期保留。
PHP中的数据类型:
整型、浮点型、布尔型、字符串
数组、对象、资源类型、NULL
单引号和双引号的区别:
双引用会进一步解析内部的变量定义,而单引号则会直接输出这个字符,因为理论上来说单引号快一些。
PHP中 {}用于表示同时编译括号内的变量,如:
$a = 10 ; echo {$$a};???????
PHP 数组
如 $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;
}
在PHP中的错误警告所用的关键字为:
error_reporting
如:error_reporting(0);关闭警告和错误
error_reporting( E_ALL );打开所有的警告和错误
PHP 函数
1、rand 随机数。rand(最小值,最大值)
2、array_rand 随机数组。提取数组中的任意一个元素。注意是提取下标。array_rand(数组,提取数);
3、array_search 可以快速找到数组或者字典中的某个值,如果没有找到返回的0或者false。
注意:这个函数因为会返回0,但是0在数组里是有下标的,因此判断的时候请用 恒等 ===
array_search( "查找的值", 集合 );
4、array_unique 给集合去重,如果发现重复的元素直接删除
5、unset 移除集合里的某个值
$arr = array( 1, 2, 3 );
如: unset( $arr[0] );
6、die() 设置程序断点,用于程序调试
7、array_unshift 在集合头部插入一个或者多个单元。如:array_unshift( $arr , "a", "b" );
8、array_pop 删除集合最后一个元素。
9、array_shift 删除集合第一个元素。
10、implode 将数组以特殊符号,链接成字符串。
11、explode 将字符串以特殊符号进行分割成数组
12、isset( 数组[下标] / 字典[键值] );判断某个下标或者键值是否存在
13、shuffle( 数组 ) 数组打乱,注意它会将原数组打乱。
文件编码的简要说明:
在中国有2种编码非常常用:
1、gb2312 / gbk
2、utf-8
如果你决定使用一种编码,那么请一直使用它,不然会有乱码危险!
应用于每次notepad新建PHP文件都是utf-8无BOM格式
notepad -> 首选项 -> (左侧)新建 -> 默认语言 php -> 右侧的选中UTF-8 无BOM头 应用于ANSI
注意:
因为webserver里有一个超时时间504,因此无法把PHP网页的执行时间,设置成无限秒。
因此在该种情况下,请使用 PHP执行脚本。
windows的基础命令:
dir 列出当前目录的文件和文件夹
cd 切换目录 如: cd abc 注意:中间有空格
cd .. 返回上一级目录
cd C:\Users\mybirdie\Desktop 切换到具体的目录
tab键 可以自动补全(如果当前在其他盘内,请先切换到当前盘,如c:)
PHP执行脚本:
1、请修改环境变量
控制面板->系统->左侧的高级系统设置-> 下方的环境变量,下方的 Path,打开,在尾部加入; (如果有则不需要添加,win10请使用新建不需要加入; ) 当然你的PHP安装路径 ,如:C:\PHP\PHP 。设置完毕之后点击完成,并关闭全部窗口。
2、重新打开cmd窗口,执行语句 php -v 会有显示当前PHP的版本。
3、php test.php 执行php任何脚本即可。
【BOM 字节序标记 php在处理BOM头的时候,有时候存在错误,因此建议用无BOM的】
【在windows的cmd下,如果需要显示中文,请将脚本编码格式转为 ANSI的格式】
set_time_limit();用于php脚本的执行时间 同等于在php.ini中的max_execution_time 默认执行30秒。
如果要设置成执行无限秒 set_time_limit( 0 );
sleep();用于暂停的秒数
换行:\n 用于脚本 <br/> 用于网页
in_array 返回是布尔值,判断值是否在数组内,in_array( "查找的值" , $arr );
array_key_exists 查找的是键,返回的是布尔值。
array_keys 返回的键的集合
array_values 返回的值的集合
array_search 查找的是数组内的值,返回布尔值注意用=== 。
array_count_values 计算每一个值出现的次数
判断某个变量的数据类型用 is_类型
如:
is_string 判断字符串
is_int 判断整型
is_array 判断数组
is_float 判断浮点
转化类型函数:
intval
floatval
strval
// 通常这种情况下:浮点*整型(字符串等) 会有二进制的问题,
//因此,如果需要解决有2个渠道:
//1、在输出之前用strval函数。
//2、请用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";
魔术方法
__FILE__ 当前文件的路径
__LINE__ 定义的行数
__DIR__ 当前文件的路径 不包括这个文件名
如:
define( "FPATH" , __FILE__ );
define( "Line" , __LINE__ );
define( "DIR1", __DIR__ );
$global 申请使用或者定义 全局变量。
$_SERVER 打印当前服务器的详细信息。
$_REQUEST 同时接收POST/GET方式请求
$_POST 接收POST方式请求
$_GET 接收GET方式请求
文档操作:
1、函数参数默认值
在php中参数是有默认值的,如果某个参数不传值,那就直接执行默认值 如:function a( $a = 10 ){}
文件一般分有几种路径:
1、利用http访问的路径。
一般用于webserver等网络访问某个文件。如果http://localhost/index.html 其实上就是访问你在webserver配置文件下设置的根目录下的index.html。如果你需要访问根目录下的某个文件夹里的文件,请在访问的时候,带上文件夹的名字访问。如:
http://localhost/文件夹名(不要中文)/index.html
2、利用file访问的路径。
一般用于本地访问,file是指找到本地的某个文件夹里的文件。如:file://C://PHP/PHPWeb/jquery.1.8.0.js
注意:该种方法,一般用于简单的页面制作,布恩那个用于PHP开发和网络开发。
路径其实也分有两种表示方式:
1、绝对路径
特指完整的路径 在file中为: file://c:/php/phpweb/index.html 。在http中引用某个文件为: www.baidu.com/dev/jquery.js
2、相对路径
特指相对于当前目录下,所引用的那个文件的路径。如http下 引用某个文件 dev/jquery.js
2、json_encode 集合转化为json编码格式。
3、json_decode(集合,true) json转化为数组、字典格式,如果不加true 可能会转化为OBJECT 对象格式。
die( 输出语句 ); 断点
exit( 输出语句 );退出
4、文件操作
1、is_writable 判断是否可写
(file_exists 判断文件是否存在)
2、fopen 打开一个文件
3、fread 读取一个文件
4、filesize 返回当前文件长度
5、fwrite 写入一个文件
6、fclose 关闭一个文件
1、判断文件是否可写
2、打开一个文件。
3、读或者写一个文件
4、关闭一个文件
fopen 参数详解
r read 只读
w 写
a 追加
注意:写会覆盖!