Php 如何将数组与WHERE子句合并?
如何将第二个数组添加到[myid]匹配的第一个数组中 第一阵列 第二阵列 需要将这些项目添加到阵列1中吗 我已尝试合并阵列,但没有用,我正在将另外两个对象添加到此阵列中 我希望我的要求是明确和可读的,如果没有请在评论中提及,以便我可以解释它更多Php 如何将数组与WHERE子句合并?,php,arrays,codeigniter,Php,Arrays,Codeigniter,如何将第二个数组添加到[myid]匹配的第一个数组中 第一阵列 第二阵列 需要将这些项目添加到阵列1中吗 我已尝试合并阵列,但没有用,我正在将另外两个对象添加到此阵列中 我希望我的要求是明确和可读的,如果没有请在评论中提及,以便我可以解释它更多 答案可能在codeigniter中,我也在使用codeigniter框架假设您希望结果数组将项目合并到第一个数组中 foreach($array1 as $key => $array){ foreach($array as $key2 =>
答案可能在codeigniter中,我也在使用codeigniter框架假设您希望结果数组将项目合并到第一个数组中
foreach($array1 as $key => $array){
foreach($array as $key2 => $value){
$results[$key]['myid'] = $value;
}
}
foreach($array2 as $key => $array){
foreach($array as $key3 => $value){
$results[$key3]['projects'] = $value;
}
}
print_r($results);
您希望结果集如下所示
Array
(
[0] => Array
(
[myid] => 70
[realname] => Kishore
[full_name] => Kishore Chandra
[category] => professional
[firm_name] => Yes
[designation] => Mechanical
[address] => Dwarakanagar 5th lane
[city] => Vishakhapatnam
[email] => yesapps.india@gmail.com
[projects] => 20
)
[1] => Array
(
[myid] => 75
[realname] => Vinod kumar
[full_name] => Kishore Chandra
[category] => professional
[firm_name] =>
[designation] =>
[address] =>
[city] =>
[email] => vinod.k.alluri@gmail.com
[projects] => 43
)
)
所以试试这个代码
foreach($b as $key => $val){
if(isset($a[$key]) && $a[$key]->myid == $val->myid){
$a[$key]->projects = $val->projects;
}
}
如果将标准数组转换为数组
json_解码$a,对
json_解码$b,对吗
$a = Array
(
0 => Array
(
'myid' => 70,
'realname' => 'Kishore',
'full_name' => 'Kishore Chandra',
'category' => 'professional',
'firm_name' => 'Yes',
'designation' => 'Mechanical',
'address' => 'Dwarakanagar 5th lane',
'city' => 'Vishakhapatnam',
'email' => 'yesapps.india@gmail.com',
),
1 => Array
(
'myid' => 75,
'realname' => 'Vinod kumar',
'full_name' => 'Kishore Chandra',
'category' => 'professional',
'firm_name' => '',
'designation' => '',
'address' => '',
'city' => '',
'email' => 'vinod.k.alluri@gmail.com'
)
);
$b = Array ( 0 => Array(
'myid' => 70,
'projects' => 20
),
1 => Array(
'myid' => 75,
'projects' => 43
)
);
foreach($b as $key => $val){
if(isset($a[$key]) && $a[$key]['myid'] == $val['myid']){
$a[$key]['projects'] = $val['projects'];
}
}
print_r($a);
注:
$b是第二个数组
$a是第一个数组
假设您想要合并两个“myid”匹配的数组。是的,您是rite,但当我遵循您发布的上述代码时,我将获得第二个数组结果。。你能为这个答案做一个样品吗?a美元和b美元是多少?如果它是$array1和$array2,它就不起作用。如果有任何使用codeigniter的解决方案,请发送它,我现在正在这个项目中使用该框架。$a和$b,您必须在函数中传递两个参数。能否显示要在其上放置where子句的表结构?它实际上不是where子句:我希望两个数组中的myid都匹配myid的结果尝试从代码中获取第2行的非对象属性是否将$b更改为第2个数组变量名,将$a更改为第1个数组变量是的,我做到了!确认这两个数组的数据与我在上面的问题中提到的相同,您甚至可以给我JSON数组的答案。。实际上,我已经将这两个arraysforeach$data2解码为$key=>$val{ifisset$data1[$key]&&$data1[$key]->myid==val->myid{$data1[$key]->projects=$val->projects;}}错误消息:试图获取非对象的属性
foreach($b as $key => $val){
if(isset($a[$key]) && $a[$key]->myid == $val->myid){
$a[$key]->projects = $val->projects;
}
}
$a = Array
(
0 => Array
(
'myid' => 70,
'realname' => 'Kishore',
'full_name' => 'Kishore Chandra',
'category' => 'professional',
'firm_name' => 'Yes',
'designation' => 'Mechanical',
'address' => 'Dwarakanagar 5th lane',
'city' => 'Vishakhapatnam',
'email' => 'yesapps.india@gmail.com',
),
1 => Array
(
'myid' => 75,
'realname' => 'Vinod kumar',
'full_name' => 'Kishore Chandra',
'category' => 'professional',
'firm_name' => '',
'designation' => '',
'address' => '',
'city' => '',
'email' => 'vinod.k.alluri@gmail.com'
)
);
$b = Array ( 0 => Array(
'myid' => 70,
'projects' => 20
),
1 => Array(
'myid' => 75,
'projects' => 43
)
);
foreach($b as $key => $val){
if(isset($a[$key]) && $a[$key]['myid'] == $val['myid']){
$a[$key]['projects'] = $val['projects'];
}
}
print_r($a);