关于PHP递归数组代码分析_PHP教程

php中文网
发布: 2016-07-15 13:28:21
原创
1280人浏览过

我们大家都知道php是一种html内嵌式的语言,php与微软的asp颇有几分相似,都是一种在服务器端执行的嵌入html文档的脚本语言,语言的风格有类似于c语言,现在被很多的网站编程人员广泛的运用。文章这里详细的介绍一下php递归数组。php程序需要将接收到的数据同时写到“线上运行的正式数据库”和“进行开发调试的测试数据库”。

而测试数据库可能经常会面临对表结构、字段、配置信息做调整等问题,很不稳定,发生错误的概率很高,如果用a.php程序同时写“正式数据库”和 “测试数据库”,势必影响到线上运行的正式服务。于是,我想到用PHP curl扩展库将生成的$data数组post传递一份给php程序,然后php程序继续往下执行写“正式数据库”的代码。php程序将$data数组传递给php程序就完事了,至于php如何处理,就不关php的事了,php程序即使写“测试数据库”失败,也不会对 php程序造成影响。

PHP递归数组源代码:

Flawless AI
Flawless AI

好莱坞2.0,电影制作领域的生成式AI工具

Flawless AI 32
查看详情 Flawless AI
<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$data["username"]="张宴";  </SPAN><LI class=alt><SPAN>$data["password"]="不知道";  </SPAN><LI class=""><SPAN>$data["ip"]="192.168.0.18";  </SPAN><LI class=alt><SPAN>//reGISter_shutdown_function("post_data", $data);  </SPAN><LI class=""><SPAN>//function post_data($data)  </SPAN><LI class=alt><SPAN>//{  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>curl</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>new</FONT></SPAN><SPAN> Curl_Class();  </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>post</FONT></SPAN><SPAN> = @$curl-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>post("http://127.0.0.1/b.php", $data);//这里是b.php的访问地址,请自行修改  </SPAN></SPAN><LI class=""><SPAN>//}  </SPAN><LI class=alt><SPAN>//curl类  </SPAN><LI class=""><SPAN>class Curl_Class  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>function Curl_Class()  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>return true;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>function execute($method, $url, $</SPAN><SPAN class=attribute><FONT color=#ff0000>fields</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>userAgent</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>httpHeaders</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>username</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>password</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ch</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>Curl_Class</FONT></SPAN><SPAN>::create();  </SPAN></SPAN><LI class=alt><SPAN>if (</SPAN><SPAN class=attribute><FONT color=#ff0000>false</FONT></SPAN><SPAN> === $ch)  </SPAN></SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>if (is_string($url) && strlen($url))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ret</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>curl_setopt</FONT></SPAN><SPAN>($ch, CURLOPT_URL, $url);  </SPAN></SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>else  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>//是否显示头部信息  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_HEADER, false);  </SPAN><LI class=alt><SPAN>//  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  </SPAN><LI class=alt><SPAN>if ($username != '')  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>method</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>strtolower</FONT></SPAN><SPAN>($method);  </SPAN></SPAN><LI class=""><SPAN>if ('post' == $method)  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_POST, true);  </SPAN><LI class=alt><SPAN>if (is_array($fields))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>sets</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=""><SPAN>foreach ($fields AS $</SPAN><SPAN class=attribute><FONT color=#ff0000>key</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $val)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>$sets[] = $key . '=' . urlencode($val);  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>fields</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>implode</FONT></SPAN><SPAN>('&',$sets);  </SPAN></SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>else if ('put' == $method)  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_PUT, true);  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>//curl_setopt($ch, CURLOPT_PROGRESS, true);  </SPAN><LI class=alt><SPAN>//curl_setopt($ch, CURLOPT_VERBOSE, true);  </SPAN><LI class=""><SPAN>//curl_setopt($ch, CURLOPT_MUTE, false);  </SPAN><LI class=alt><SPAN>curl_setopt($ch, CURLOPT_TIMEOUT, 3);//设置curl超时秒数,例如将信息POST出去3秒钟后自动结束运行。  </SPAN><LI class=""><SPAN>if (strlen($userAgent))  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>if (is_array($httpHeaders))  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ret</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>curl_exec</FONT></SPAN><SPAN>($ch);  </SPAN></SPAN><LI class=alt><SPAN>if (curl_errno($ch))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>curl_close($ch);  </SPAN><LI class=""><SPAN>return array(curl_error($ch), curl_errno($ch));  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>else  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>curl_close($ch);  </SPAN><LI class=alt><SPAN>if (!is_string($ret) || !strlen($ret))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>return $ret;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>function post($url, $fields, $</SPAN><SPAN class=attribute><FONT color=#ff0000>userAgent</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>httpHeaders</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>username</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>password</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ret</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>Curl_Class</FONT></SPAN><SPAN>::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);  </SPAN></SPAN><LI class=alt><SPAN>if (</SPAN><SPAN class=attribute><FONT color=#ff0000>false</FONT></SPAN><SPAN> === $ret)  </SPAN></SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>if (is_array($ret))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>return $ret;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>function get($url, $</SPAN><SPAN class=attribute><FONT color=#ff0000>userAgent</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>httpHeaders</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>username</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>, $</SPAN><SPAN class=attribute><FONT color=#ff0000>password</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>)  </SPAN></SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ret</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>Curl_Class</FONT></SPAN><SPAN>::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);  </SPAN></SPAN><LI class=""><SPAN>if (</SPAN><SPAN class=attribute><FONT color=#ff0000>false</FONT></SPAN><SPAN> === $ret)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>return false;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>if (is_array($ret))  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>return false;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>return $ret;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>function create()  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ch</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>null</FONT></SPAN><SPAN>;  </SPAN></SPAN><LI class=alt><SPAN>if (!function_exists('curl_init'))  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>return false;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>ch</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>curl_init</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=""><SPAN>if (!is_resource($ch))  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>return false;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>return $ch;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

PHP递归数组代码:

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN>    </SPAN></SPAN><LI class=""><SPAN>ignore_user_abort();//连线中断后(例如关闭浏览器)仍然继续执行以下的脚本直到处理完毕。  </SPAN><LI class=alt><SPAN>set_time_limit(0);  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>get_data</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>file_get_contents</FONT></SPAN><SPAN>("php://input");  </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute-value><FONT color=#0000ff>explode</FONT></SPAN><SPAN class=attribute><FONT color=#ff0000>explodedata</FONT></SPAN><SPAN> = explode("&", $get_data);  </SPAN></SPAN><LI class=""><SPAN>foreach ($explodedata as $</SPAN><SPAN class=attribute><FONT color=#ff0000>key</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $value)//还原数组  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>list($realkey, $realvalue) = explode("=", $value);  </SPAN><LI class=alt><SPAN>$data[urldecode($realkey)] = urldecode($realvalue);  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>//现在$data数组已经和a.php中的一样了,接下来,就可以根据自己的需要对$data数组进行操作了。  </SPAN><LI class=""><SPAN>//......  </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446465.htmlTechArticle我们大家都知道PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号