• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 代码优化之经典示例

php 搞代码 4年前 (2022-01-01) 33次浏览 已收录 0个评论
文章目录[隐藏]

今天碰到了这么一个问题,处理的数组$tempArray为如下所示形式(key已经排序),然后要根据这个结果进行分块的处理

我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。

经过上面的指导,发现真的好简单,现在与大家一同分享。

ID FIELD1 FIELD2 FIELD3 FIELD4 Key
1 *** *** *** *** meat1
2 *** *** *** *** meat1
3 *** *** *** *** meat1
4 *** *** *** *** meat1
5 *** *** *** *** fruit2
6 *** *** *** *** fruit2
7 *** *** *** *** fruit2
8 *** *** *** *** fruit2
9 *** *** *** *** fruit2
10 *** *** *** *** food3
11 *** *** *** *** food3

现在有如上所示的结果

要求:要对这个已经按key进行排序了的数组进行操作,相同key的项进行处理。

提示:这个是很典型的母子表的结构,也就是说其实它是两张表的合并,可以这样处理成两个数组,方便数组里面对块的操作
array1:ID|Key

ID Key
1 meat1
2 meat1
3 meat1
4 meat1
5 fruit2
6 fruit2
7 fruit2
8 fruit2
9 fruit2
10 food3
11 food3

array2:key => array(ID,FIELD1,FIELD2,FIELD3,FIELD4,FIELD5,Key)

ID FIELD1 FIELD2 FIELD3 FIELD4 Key
meat1=> 1 *** *** *** *** meat1
2 *** *** *** *** meat1
3 *** *** *** *** meat1
4 *** *** *** *** meat1
fruit2=> 5 *** *** *** *** fruit2
6 *** *** *** *** fruit2
7 *** *** *** *** fruit2
8 *** *** *** *** fruit2
9 *** *** *** *** fruit2
food3=> 10 *** *** *** *** food3
11 *** *** *** *** food3

实现如上数组分离代码

这样后,访问tempArray的块数据就非常方便了

foreach($tempArray as $row){

  array1[$row[‘ID’]] = $row[‘Key’];

  array2[$row[‘Key’]][] = $row;

}

访问和处理代码

foreach($array1 as $ID => $Key){

  $this->doSomeThing($ID);

  //访问tempArray的块数组$array2[$Key]

  $this->doSomeThing2($array2[$Key]);

}

您可能感兴趣的文章:

  • 优化使用mysql存储session的php代码
  • PHP性能优化 产生高度优化代码
  • PHP代码优化之成员变量获取速度对比
  • PHP代码优化的53个细节
  • php垃圾代码优化操作代码
  • php 代码优化的42条建议 推荐
  • 优化PHP代码的53条建议
  • PHP数组交集的优化代码分析
  • 优化PHP代码技巧的小结
  • 24条货真价实的PHP代码优化技巧

  • php
  • 代码优化

相关文章

  • 查找php配置文件php.ini所在路径的二种方法

    这篇文章主要介绍了查找php配置文件php.ini所在路径的二种方法,很多同学在安装完php后找不到php.ini,或者是别人安装的环境,本文的方法简单实用,需要的朋友可以参考下

    2014-05-05

  • one.php 多项目、函数库、类库 统一为一个版本的方法

    这篇文章主要介绍了one.php 多项目、函数库、类库 统一为一个版本的方法,需要的朋友可以参考下

    2020-08-08

  • PHP echo,print,printf,sprintf函数之间的区别与用法详解

    这篇文章主要是对PHP中echo,print,printf,sprintf函数之间的区别与用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    2013-11-11

  • php中simplexml_load_file函数用法实例

    这篇文章主要介绍了php中simplexml_load_file函数用法,以实例形式详细的讲述了simplexml_load_file函数读取XML文件的具体方法,非常具有实用价值,需要的朋友可以参考下

    2014-11-11

  • 解析posix与perl标准的正则表达式区别

    本篇文章是对posix与perl标准的正则表达式区别进行了详细的分析介绍,需要的朋友参考下

    2013-06-06

  • php实现mysql事务处理的方法

    这篇文章主要介绍了php实现mysql事务处理的方法,以实例形式实现了事务回滚的技巧,代码简单实用,需要的朋友可以参考下

    2014-12-12

  • PHP实现对文件锁进行加锁、解锁操作的方法

    这篇文章主要介绍了PHP实现对文件锁进行加锁、解锁操作的方法,结合实例形式分析了PHP针对文件进行加锁、解锁操作的功能、实现方法与相关注意事项,需要的朋友可以参考下

    2017-07-07

  • php下保存远程图片到本地的办法

    有些时候我们看到网络上有一些漂亮的图片,而又不想手动去保存下来,尤其是大量的这样的图片,那这个时候我们需要写一段程序来帮助我们完成这个工作。

    2010-08-08

  • PHP中call_user_func_array回调函数的用法示例

    这篇文章主要给大家介绍了PHP中call_user_func_array回调函数的用法,文中给出了详细的示例代码,相信对大家的理解和学习很有帮助,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。

    2016-11-11

  • php基于curl重写file_get_contents函数实例

    这篇文章主要介绍了php基于curl重写file_get_contents函数的方法,结合实例形式分析了php使用curl重写file_get_contents函数实现屏蔽错误提示的相关技巧,需要的朋友可以参考下

    2016-11-11

最新评论

微信投稿脚本任务在线工具

以上就是php 代码优化之经典示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 代码优化之经典示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址