0

0

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

php中文网

php中文网

发布时间:2016-07-15 13:28:21

|

1287人浏览过

|

来源于php中文网

原创

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

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

PHP递归数组源代码:

剪映
剪映

一款全能易用的桌面端剪辑软件

下载
  1. php
  2. $data["username"]="张宴";
  3. $data["password"]="不知道";
  4. $data["ip"]="192.168.0.18";
  5. //reGISter_shutdown_function("post_data", $data);
  6. //function post_data($data)
  7. //{
  8. $curl = new Curl_Class();
  9. $post = @$curl->post("http://127.0.0.1/b.php", $data);//这里是b.php的访问地址,请自行修改
  10. //}
  11. //curl类
  12. class Curl_Class
  13. {
  14. function Curl_Class()
  15. {
  16. return true;
  17. }
  18. function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')
  19. {
  20. $ch = Curl_Class::create();
  21. if (false === $ch)
  22. {
  23. return false;
  24. }
  25. if (is_string($url) && strlen($url))
  26. {
  27. $ret = curl_setopt($ch, CURLOPT_URL, $url);
  28. }
  29. else
  30. {
  31. return false;
  32. }
  33. //是否显示头部信息
  34. curl_setopt($ch, CURLOPT_HEADER, false);
  35. //
  36. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  37. if ($username != '')
  38. {
  39. curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
  40. }
  41. $method = strtolower($method);
  42. if ('post' == $method)
  43. {
  44. curl_setopt($ch, CURLOPT_POST, true);
  45. if (is_array($fields))
  46. {
  47. $sets = array();
  48. foreach ($fields AS $key => $val)
  49. {
  50. $sets[] = $key . '=' . urlencode($val);
  51. }
  52. $fields = implode('&',$sets);
  53. }
  54. curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
  55. }
  56. else if ('put' == $method)
  57. {
  58. curl_setopt($ch, CURLOPT_PUT, true);
  59. }
  60. //curl_setopt($ch, CURLOPT_PROGRESS, true);
  61. //curl_setopt($ch, CURLOPT_VERBOSE, true);
  62. //curl_setopt($ch, CURLOPT_MUTE, false);
  63. curl_setopt($ch, CURLOPT_TIMEOUT, 3);//设置curl超时秒数,例如将信息POST出去3秒钟后自动结束运行。
  64. if (strlen($userAgent))
  65. {
  66. curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
  67. }
  68. if (is_array($httpHeaders))
  69. {
  70. curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);
  71. }
  72. $ret = curl_exec($ch);
  73. if (curl_errno($ch))
  74. {
  75. curl_close($ch);
  76. return array(curl_error($ch), curl_errno($ch));
  77. }
  78. else
  79. {
  80. curl_close($ch);
  81. if (!is_string($ret) || !strlen($ret))
  82. {
  83. return false;
  84. }
  85. return $ret;
  86. }
  87. }
  88. function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
  89. {
  90. $ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);
  91. if (false === $ret)
  92. {
  93. return false;
  94. }
  95. if (is_array($ret))
  96. {
  97. return false;
  98. }
  99. return $ret;
  100. }
  101. function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
  102. {
  103. $ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);
  104. if (false === $ret)
  105. {
  106. return false;
  107. }
  108. if (is_array($ret))
  109. {
  110. return false;
  111. }
  112. return $ret;
  113. }
  114. function create()
  115. {
  116. $ch = null;
  117. if (!function_exists('curl_init'))
  118. {
  119. return false;
  120. }
  121. $ch = curl_init();
  122. if (!is_resource($ch))
  123. {
  124. return false;
  125. }
  126. return $ch;
  127. }
  128. }
  129. ?>

PHP递归数组代码:

  1. php
  2. ignore_user_abort();//连线中断后(例如关闭浏览器)仍然继续执行以下的脚本直到处理完毕。
  3. set_time_limit(0);
  4. $get_data = file_get_contents("php://input");
  5. $explodeexplodedata = explode("&", $get_data);
  6. foreach ($explodedata as $key => $value)//还原数组
  7. {
  8. list($realkey, $realvalue) = explode("=", $value);
  9. $data[urldecode($realkey)] = urldecode($realvalue);
  10. }
  11. //现在$data数组已经和a.php中的一样了,接下来,就可以根据自己的需要对$data数组进行操作了。
  12. //......
  13. ?>

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

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

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

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6万人学习

Django 教程
Django 教程

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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