我的PHP学习笔记
时间:2007-08-26
来源:互联网
1, 语句脱离:
<?php echo "hello world"?>和
<?php
Echo “hello world”;
?>是等价的。
2, print_r的使用:
$a=array(1,2,”hello”,array(“one”,”two”));
则print_r($a);后输出:
Array ( [0] => 1 [1] => 2 [2] => hello [3] => Array ( [0] => one [1] => two ) )
能够很清楚的看明白数组a的结构。
3, var_dump 列出变量资讯
<?php
$phone="113";
var_dump(ereg("113",$phone));
?>
4,
<?php
echo <<< nol
hello world!
nol;
?>
Nol只是一个样式,可以换为其它字母或中文,但NOL;必须顶格写。
5,
用PHP处理多个同名复选框
如果一个表单中有多个同名复选框,在提交到php时却只有一个值,而并不像asp那样是一串用逗号分割的值。解决的方法是利用数组。将复选框的name后面加上[],例如:<input type="checkbox" name="pp" value="1"> 改为:<input type="checkbox" name="pp[]" value="1">。这样php将得到一个叫pp的阵列。在提交的表单中先用Count(pp)来判断数组的个数即选中的个数,然后对数组进行分别处理就行了。
同样的道理也适应于处理下拉框的多选问题。
6,点击浏览器的后退按钮后,所有字段的信息都被清空了?
这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。
补充:还有基于session的解决方法,在session_start前加上
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter('public'); //不清空表单,如同没使用session一般
可以在session_start();前加session_cache_limiter("private,max-age=10800");
7,E-mail的正确判断
eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+.)+[a-zA-Z]$",$email);
8,file_get_contents($filename):将文件的内容全部读到出
注意,$filename必须为真实路径,可用realpath()返回路径。
例:
<?php
$file=”me.php”;
$file=realpath($file);
$con=file_get_contents($file);
?>
File_put_contents($con,$file);
同样$file要为真实路径。
例:
<?
$con=”hello”;
$file=”me.php”;
$file=realpath($file);
$re=file_put_contents($con,$file);
?>
9,array_map:将函数作用有数组的每一个单元上
例:
<?php
function cube($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
用法2:重新建一个数组
例:
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
10,strtr($str,$from,$to)转换字符串中的某些单元
例:
<?php
$a=hello world!!!;
Echo strtr($a,”hello”,”hi”);//转换为:hillo world!!!
?>
<?php
$a=hello world!!!;
$b=array(”hello”=>”hi”);
Echo strtr($a,$b); //转换为:hi world!!! (与上例不同)
?>
11,strpos($string,$str); //在$string中寻$str字符若有则返回其所在位置
<?php
$str=”hello world!”;
Echo strpos($str,”w”);
?>
12,implode(“str”,$array); 将$array数组用str字符串连接起来
例:
<?php
$a=array(“hello”,”world”,”!!!”);
Echo implode(“ ”,$a);
?>
13,split(partten,string)以正规表达式将字符串切开
例:
<?php
date = "04/30/1973"; // Delimiters may be slash, dot, or hyphen
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br>\n";
?>
14,fopen($filepath,”a”);以只写的方式打开文件,置文件的指针于文件尾,若文件不存在,试图创建之。(在me.txt中追加内容)
例:
<?php
$file=”me.txt”;
$handle=fopen($file,”a”);
$content=”hello world!!!”;
If(fwrite($handle,$content))
{
Echo “Write to me.txt OK!”;
}
Else echo “Write to me.txt BAD!”;
?>
15,range(int low,int high)建立一个整数数组
例:
<?php
$arr=range(1,3);
Print_r($arr);//输出:array([0]=>1,[1]=>2,[2]=>3)
?>
16,htmlspecialchars(str) 将str字符串中的html标记置换
例:
<?php
$a=”<h1>hello world</h1>”;
Echo htmlspecialchars($a); //输出:<h1>hello world</h1>
?>
17,用Apache后,主页出现乱码
方法一:
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
方法二:
AddDefaultCharset GB2312
18,$_SERVER['HTTP_REFERER']。得到的数据是传递到本页面的上一页面的UTL地址
用途:1、防止盗连,比如我是个下载软件的网站,在下载页面我先用referer来判断上一页面是不是自己网站,如果不是,说明有人盗连了你的下载地址。
2、电子商务网站的安全,我在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。
19,nl2br转换新行为html中的<br>
从数据库中得到数据后,用ehco nl2br($row[‘content’]);
20,getcwd(),chdir($path)综合使用
Getcwd();得到当前目录(绝对路径)
Chdir()改变目录
例:
<?php
// current directory
echo getcwd() . "\n";
chdir('img');
// current directory
echo getcwd() . "\n";
?>
[ 本帖最后由 dx_andy 于 2007-8-26 13:35 编辑 ]
<?php echo "hello world"?>和
<?php
Echo “hello world”;
?>是等价的。
2, print_r的使用:
$a=array(1,2,”hello”,array(“one”,”two”));
则print_r($a);后输出:
Array ( [0] => 1 [1] => 2 [2] => hello [3] => Array ( [0] => one [1] => two ) )
能够很清楚的看明白数组a的结构。
3, var_dump 列出变量资讯
<?php
$phone="113";
var_dump(ereg("113",$phone));
?>
4,
<?php
echo <<< nol
hello world!
nol;
?>
Nol只是一个样式,可以换为其它字母或中文,但NOL;必须顶格写。
5,
用PHP处理多个同名复选框
如果一个表单中有多个同名复选框,在提交到php时却只有一个值,而并不像asp那样是一串用逗号分割的值。解决的方法是利用数组。将复选框的name后面加上[],例如:<input type="checkbox" name="pp" value="1"> 改为:<input type="checkbox" name="pp[]" value="1">。这样php将得到一个叫pp的阵列。在提交的表单中先用Count(pp)来判断数组的个数即选中的个数,然后对数组进行分别处理就行了。
同样的道理也适应于处理下拉框的多选问题。
6,点击浏览器的后退按钮后,所有字段的信息都被清空了?
这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。
补充:还有基于session的解决方法,在session_start前加上
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter('public'); //不清空表单,如同没使用session一般
可以在session_start();前加session_cache_limiter("private,max-age=10800");
7,E-mail的正确判断
eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+.)+[a-zA-Z]$",$email);
8,file_get_contents($filename):将文件的内容全部读到出
注意,$filename必须为真实路径,可用realpath()返回路径。
例:
<?php
$file=”me.php”;
$file=realpath($file);
$con=file_get_contents($file);
?>
File_put_contents($con,$file);
同样$file要为真实路径。
例:
<?
$con=”hello”;
$file=”me.php”;
$file=realpath($file);
$re=file_put_contents($con,$file);
?>
9,array_map:将函数作用有数组的每一个单元上
例:
<?php
function cube($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
用法2:重新建一个数组
例:
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
10,strtr($str,$from,$to)转换字符串中的某些单元
例:
<?php
$a=hello world!!!;
Echo strtr($a,”hello”,”hi”);//转换为:hillo world!!!
?>
<?php
$a=hello world!!!;
$b=array(”hello”=>”hi”);
Echo strtr($a,$b); //转换为:hi world!!! (与上例不同)
?>
11,strpos($string,$str); //在$string中寻$str字符若有则返回其所在位置
<?php
$str=”hello world!”;
Echo strpos($str,”w”);
?>
12,implode(“str”,$array); 将$array数组用str字符串连接起来
例:
<?php
$a=array(“hello”,”world”,”!!!”);
Echo implode(“ ”,$a);
?>
13,split(partten,string)以正规表达式将字符串切开
例:
<?php
date = "04/30/1973"; // Delimiters may be slash, dot, or hyphen
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br>\n";
?>
14,fopen($filepath,”a”);以只写的方式打开文件,置文件的指针于文件尾,若文件不存在,试图创建之。(在me.txt中追加内容)
例:
<?php
$file=”me.txt”;
$handle=fopen($file,”a”);
$content=”hello world!!!”;
If(fwrite($handle,$content))
{
Echo “Write to me.txt OK!”;
}
Else echo “Write to me.txt BAD!”;
?>
15,range(int low,int high)建立一个整数数组
例:
<?php
$arr=range(1,3);
Print_r($arr);//输出:array([0]=>1,[1]=>2,[2]=>3)
?>
16,htmlspecialchars(str) 将str字符串中的html标记置换
例:
<?php
$a=”<h1>hello world</h1>”;
Echo htmlspecialchars($a); //输出:<h1>hello world</h1>
?>
17,用Apache后,主页出现乱码
方法一:
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
方法二:
AddDefaultCharset GB2312
18,$_SERVER['HTTP_REFERER']。得到的数据是传递到本页面的上一页面的UTL地址
用途:1、防止盗连,比如我是个下载软件的网站,在下载页面我先用referer来判断上一页面是不是自己网站,如果不是,说明有人盗连了你的下载地址。
2、电子商务网站的安全,我在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。
19,nl2br转换新行为html中的<br>
从数据库中得到数据后,用ehco nl2br($row[‘content’]);
20,getcwd(),chdir($path)综合使用
Getcwd();得到当前目录(绝对路径)
Chdir()改变目录
例:
<?php
// current directory
echo getcwd() . "\n";
chdir('img');
// current directory
echo getcwd() . "\n";
?>
[ 本帖最后由 dx_andy 于 2007-8-26 13:35 编辑 ]
作者: dx_andy 发布时间: 2007-08-26
恩,不错!
作者: forest 发布时间: 2007-08-26
支持一下.可以复习一下有些知识点.
作者: londit.cn 发布时间: 2007-08-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28