php数据匹配

数据1
{"2743688":{"price":104},"2743689":{"price":138},"2743713":{"price":139},"2743714":{"price":257},"1010002743714":{"price":75},"1020002743714":{"price":84},"1030002743714":{"price":98}}
数据2
{"2743688":{"pindex":"2743688","book":"神秘岛"},"2743689":{"pindex":"2743689","book":"三国演义"},"2743713":{"pindex":"2743713","book":"水浒传"},"2743714":{"pindex":"2743714","book":"稻草人"},"1010002743714":{"pindex":"1010002743714","book":"史记"},"1020002743714":{"pindex":"1020002743714","book":"孙子兵法"},"1030002743714":{"pindex":"1030002743714","book":"全球通史"}}
如何从数据2中找到键值和数据1相等的book值
如:数据1中存在2743688,数据2中也存在2743688,则输出数据二中的book值:神秘岛

阅读 1.7k
1 个回答
<?php
// 手机写的,条件有限
$a=json_decode('{"2743688":{"price":104},"2743689":{"price":138},"2743713":{"price":139},"2743714":{"price":257},"1010002743714":{"price":75},"1020002743714":{"price":84},"1030002743714":{"price":98}}',true);

$b=json_decode('{"2743688":{"pindex":"2743688","book":"神秘岛"},"2743689":{"pindex":"2743689","book":"三国演义"},"2743713":{"pindex":"2743713","book":"水浒传"},"2743714":{"pindex":"2743714","book":"稻草人"},"1010002743714":{"pindex":"1010002743714","book":"史记"},"1020002743714":{"pindex":"1020002743714","book":"孙子兵法"},"1030002743714":{"pindex":"1030002743714","book":"全球通史"}}',true);

$t=array_intersect_key($b,$a);
$t=array_column($t,'book','pindex');
var_dump($t,$t['2743688']);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题