php十大经典实例,求php内置数组10个常见的,并举例
1. 用户登录/注册系统。
2. 购物车功能。
3. 在线聊天系统。
4. 新闻发布系统。
5. 博客系统。
6. 留言板功能。
7. 网站后台管理系统。
8. 论坛系统。
9. 图片上传/管理系统。
10. 支付接口集成(例如支付宝、微信支付)"。
可以列举几个简单的php递归例子吗
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//递归获得角色ID字符串
function explodeRole($roleObj, &$resultStr){
if(0 < count($roleObj->childRoleObjArr)){
foreach($roleObj->childRoleObjArr as $childRoleObj){
if('' == $resultStr){
$resultStr .= "{$childRoleObj->id}";
}else{
$resultStr .= ", {$childRoleObj->id}";
}
explodeRole($childRoleObj, $resultStr);
}
}
}
//递归获取级联角色信息数组
function makeRoleRelation(&$roleObjArr){
foreach($roleObjArr as $item){
$item->childRoleObjArr = getRoleObjArrByParentId($item->id);
if(0 < count($item->childRoleObjArr)){
makeRoleRelation($item->childRoleObjArr);
}
}
}
//通过父角色的id获取子角色信息
function getRoleObjArrByParentId($parentid){
$operCOGPSTRTSysRole = new COGPSTRTSysRole();
$operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());
$operCOGPSTRTSysRole->setWhere("parentroleid={$parentid}");
$roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());
return isset($roleObjArr)?$roleObjArr:array();
}
php的递归函数用法
一个函数在它的函数体内调用它自身称为递归调用。
这种函数称为递归函数。
这对于程序员来说,通常有很高的实用价值,常用来将复杂的问题分解为简单的并相同的情况,反复做这种处理直到问题解决。
用递归函数与不用递归函数的区别
示例一:使用静态变量
?
1
2
3
4
5
6
7
8
function test(){
static $dig=0;
if($dig++<10){
echo $dig;
test();
}
}
test();//12345678910
示例二:使用递归函数和循环实现字符串逆转排列
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function unreverse($str){
for($i=1;$i<=strlen($str);$i++){
echo substr($str,-$i,1);
}
}
unreverse("abcdefg");//gfedcbc
function reverse($str){
if(strlen($str)>0){
reverse(substr($str,1));
echo substr($str,0,1);
return;
}
}
reverse("abcdefg");//gfedcbc
递归函数很多时候我们可以循环替代,建议当我们不能用循环替代时再用,因为用循环我们更容易理解,更不容易出错。
php递归函数
php支付递归函数,递归函数就是调用自己本身,这些函数特别适用于浏览动态数据结构,例如树和列表。
几乎没有web应用程序要求使用复杂的数据结构
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function reversr_r($str)
{
if (strlen($str)>0)
reverse_r(substr($str,1));
echo substr($str,0,1);
return;
}
?>
function reverse_i($str)
{
for($i=1;$i<=strlen($str);$i++)
{
echo substr($str,-$i,1);
}
}
这个程序清单中实现两个函数,这两个函数都可以相反的顺序打印字符串的内容
函数reversr_r是通过递归实现的,而函数reverse_i()是通过循环实现的
求php内置数组10个常见的,并举例
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。
该数组的键名为全局变量的名称。
从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。
$_GET
经由 URL 请求提交至脚本的变量。
$_POST
$_COOKIE
$_FILES
详细信息请参阅 POST 方法上传。
$_ENV
执行环境提交至脚本的变量。
$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。
所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。
此数组在 PHP 4.1.0 之前没有直接对应的版本。
参见 import_request_variables()。
我只知道这8个……
详细列子请查看PHP手册
php 实现socket 一个简单的例子
/*********************************************************
发送trackback程序
参数,主机地址,标题,这篇文章的地址,内容,站点名称
*********************************************************/
function sendTrackback($host,$title,$url,$excerpt,$blog_name) {
$buf="";
$path = explode('/', $host);
$host = $path[0];
$host_array=explode(':', $host);
$host=$host_array[0];
if(empty($host_array[1])){
$port=80;
}else{
$port=$host_array[1];
}
unset($path[0]);
$path = '/' . implode('/', $path);
$excerpt = cn_substr($excerpt,252);
$fp = @fsockopen($host, $port, $errno, $errstr, 30);
if(!$fp) {
Return false;
}
$query = 'title=' . rawurlencode($title);
$query .= '&url=' . rawurlencode($url);
$query .= '&excerpt=' . rawurlencode($excerpt);
$query .= '&blog_name=' . rawurlencode($blog_name);
$out .= 'Host: ' . $host . "\r ";
$out .= 'Connection: close' . "\r ";
$out .= 'Content-Length: ' . strlen($query) . "\r ";
$out .= $query . "\r ";
fwrite($fp, $out);
while (!feof($fp))
$buf .= fgets($fp,128);
fclose($fp);
$arr=explode("<error>",$buf);
$return_num=intval(substr($arr[1], 0, 1));
if($return_num==0){
return "发送成功 ";
}else{
$arr2=explode("message",$buf);
$return_msg=str_replace(">", "", $arr2[1]);
$return_msg=str_replace("</", "", $return_msg);
return "发送失败:".$return_msg;
}
} (随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)