首页 / PHP / PHP如何使用数组数组合并一个对象数组
PHP如何使用数组数组合并一个对象数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP如何使用数组数组合并一个对象数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2174字,纯文字阅读大概需要4分钟。
内容图文
![PHP如何使用数组数组合并一个对象数组](/upload/InfoBanner/zyjiaocheng/697/38a4fc7215fd4a6d8d39aef8248f8d13.jpg)
首先,对于长篇解释感到抱歉.我在PHP中有两个数组.第一个数组是一个对象数组.第二个数组是一个数组数组.基本上,我想循环,并将对象与其匹配的数组合并,并返回一个合并的对象.
请参阅以下对象结构数组的print_r():
Array
(
[0] => stdClass Object
(
[gear] => helloworld
[status] => running
[started] => 40 Minutes Ago
[start] => index.js
[route] => 127.0.0.1:3000
[parameters] => Array
(
)
)
[1] => stdClass Object
(
[gear] => test
[status] => stopped
[started] =>
[start] => index.js
[route] =>
[parameters] => Array
(
)
)
[2] => stdClass Object
(
[gear] => test2
[status] => stopped
[started] =>
[start] => index.js
[route] =>
[parameters] => Array
(
[0] => first
[1] => second
[2] => third
)
)
)
请参阅以下数组结构数组的print_r():
Array
(
[0] => Array
(
[gear] => helloworld
[machine_id] => E6z5ekvQ
[created_by] => 10010
[modified_by] => 10010
[created] => 2011-09-22T16:30:11-07:00
[modified] => 2011-09-22T16:30:11-07:00
)
[1] => Array
(
[gear] => test
[machine_id] => E6z5ekvQ
[created_by] => 10010
[modified_by] => 10010
[created] => 2011-09-22T16:44:25-07:00
[modified] => 2011-09-22T16:44:25-07:00
)
[2] => Array
(
[gear] => test2
[machine_id] => E6z5ekvQ
[created_by] => 10010
[modified_by] => 10010
[created] => 2011-09-22T16:45:43-07:00
[modified] => 2011-09-22T16:45:43-07:00
)
)
所以基本上两者的匹配键都是齿轮.所以我们应该匹配第一个物体的齿轮,阵列中的第二个齿轮,并返回如下内容:
stdClass Object
(
[gear] => helloworld
[status] => running
[started] => 40 Minutes Ago
[start] => index.js
[route] => 127.0.0.1:3000
[parameters] => Array
(
)
[machine_id] => E6z5ekvQ
[created_by] => 10010
[modified_by] => 10010
[created] => 2011-09-22T16:30:11-07:00
[modified] => 2011-09-22T16:30:11-07:00
)
请注意,齿轮合并为物体的一个属性,显然齿轮不会出现两次.想法?
解决方法:
如果你可以通过齿轮或一些独特的值索引数组,那将会容易得多.
$indexed = array();
// create an array using 'gear' as the index
foreach($arrayValue as $value) {
$indexed[$value['gear']] = $value;
}
// loop over each object
foreach($objectArray as $obj) {
$value = $indexed[$obj->gear]; // find the corresponding array
foreach($value as $name => $val) {
$obj->$name = $val; // assign each array index/value pair to the object
}
}
如果可能的话,默认情况下让代码返回带索引的数组,可以删除第一个foreach循环.
希望有所帮助.
内容总结
以上是互联网集市为您收集整理的PHP如何使用数组数组合并一个对象数组全部内容,希望文章能够帮你解决PHP如何使用数组数组合并一个对象数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。