php 2个数组合集,合并2个不同长度的php数组

对不起,如果之前确实有这个问题的话,我看不到任何符合我需要的东西,那里有几十个类似的标题帖子;)

我正在尝试合并两个长度不同的php数组,并将它们合并到两个数组中相同的key =>值存在的值上。

我的第一个查询从嵌套集生成一个数组:

array

(

1 => array

(

'node_id' => 1,

'lft' => 1,

'rgt' => 4,

'moved' => 0,

'label' => 'Home',

'entry_id' => 1,

'template_path' => '',

'custom_url' => '/',

'extra' => '',

'childs' => 1,

'level' => 0,

'lower' => 0,

'upper' => 0

),

2 => array

(

'node_id' => 2,

'lft' => 2,

'rgt' => 3,

'moved' => 0,

'label' => 'Home',

'entry_id' => NULL,

'template_path' => '',

'custom_url' => 'http://google.com/',

'extra' => '',

'childs' => 0,

'level' => 1,

'lower' => 0,

'upper' => 0

)

);

我的第二个数组返回一些我想插入上面数组的其他键/值:

array

(

'entry_id' => 1,

'entry_title' => 'This is my title',

);

我想合并两个插入附加信息的数组到那些匹配键'entry_id'的数组,以及保持不匹配的子数组。

所以,通过组合这两个数组,我最终得到了

array

(

1 => array

(

'node_id' => 1,

'lft' => 1,

'rgt' => 4,

'moved' => 0,

'label' => 'Home',

'entry_id' => 1,

'template_path' => '',

'custom_url' => '/',

'extra' => '',

'childs' => 1,

'level' => 0,

'lower' => 0,

'upper' => 0,

'entry_title' => 'This is my title'

),

2 => array

(

'node_id' => 2,

'lft' => 2,

'rgt' => 3,

'moved' => 0,

'label' => 'Home',

'entry_id' => NULL,

'template_path' => '',

'custom_url' => 'http://google.com/',

'extra' => '',

'childs' => 0,

'level' => 1,

'lower' => 0,

'upper' => 0,

'entry_title' => NULL

)

);

实际上,写出这个让我觉得我应该通过sql来做...

更新:

我正在尝试更新查询,但得到错误,我无法弄清楚如何修复连接:(

SELECT `n`.*, round((`n`.`rgt` - `n`.`lft` - 1) / 2, 0) AS childs,

count(*) - 1 + (`n`.`lft` > 1) + 1 AS level,

((min(`p`.`rgt`) - `n`.`rgt` - (`n`.`lft` > 1)) / 2) > 0 AS lower,

(((`n`.`lft` - max(`p`.`lft`) > 1))) AS upper

FROM `exp_node_tree_6` `n`, `exp_node_tree_6` `p`

LEFT JOIN `exp_channel_titles` ON (`exp_node_tree_6.entry_id`=`exp_channel_titles.entry_id`)

WHERE `n`.`lft`

BETWEEN `p`.`lft`

AND `p`.`rgt`

AND ( `p`.`node_id` != `n`.`node_id` OR `n`.`lft` = 1 )

GROUP BY `n`.`node_id`

ORDER BY `n`.`lft`

对不起,我对sql很新...即使我确实做到了这一点,这不仅会返回那些在两个表上都有entry_id匹配的东西吗?

我需要从exp_node_tree_6表中获取所有数据,并且如果entry_id存在,则能够进入另一个...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值