在php上组合两个数组
你好,我正在尝试合并两个php数组 第一个在php上组合两个数组,php,arrays,Php,Arrays,你好,我正在尝试合并两个php数组 第一个 array (size=13) 0 => object(stdClass)[30] public 'ID' => string '1' (length=1) public 'name' => string 'html5' (length=5) public 'img' => string 'HTML5.png' (length=9) 1 => object(s
array (size=13)
0 =>
object(stdClass)[30]
public 'ID' => string '1' (length=1)
public 'name' => string 'html5' (length=5)
public 'img' => string 'HTML5.png' (length=9)
1 =>
object(stdClass)[31]
public 'ID' => string '2' (length=1)
public 'name' => string 'css3' (length=4)
public 'img' => string 'css.png' (length=7)
2 =>
object(stdClass)[32]
public 'ID' => string '3' (length=1)
public 'name' => string 'php' (length=3)
public 'img' => string 'php1.png' (length=8)
3 =>
object(stdClass)[33]
public 'ID' => string '4' (length=1)
public 'name' => string 'java script' (length=11)
public 'img' => string 'javascript.png' (length=14)
第二个
array (size=3)
0 =>
object(stdClass)[26]
public 'ID' => string '1' (length=1)
public 'IDuser' => string '1' (length=1)
public 'IDskill' => string '1' (length=1)
1 =>
object(stdClass)[27]
public 'ID' => string '2' (length=1)
public 'IDuser' => string '1' (length=1)
public 'IDskill' => string '3' (length=1)
2 =>
object(stdClass)[28]
public 'ID' => string '3' (length=1)
public 'IDuser' => string '1' (length=1)
public 'IDskill' => string '4' (length=1)
来自第一个数组的ID等于来自第二个数组的IDskill。如果IDskill和ID相同,我将尝试组合创建新数组,在新数组中使用类似的内容
public 'ID' => string '1' (length=1)
public 'name' => string 'html5' (length=5)
public 'img' => string 'HTML5.png' (length=9)
===>New field public 'MATCH' => string '1' (length=9)
试试这个(其中a1
是第一个数组,a2
是第二个数组,$result
是最终的合并数组):
试试这个(其中a1
是第一个数组,a2
是第二个数组,$result
是最终的合并数组):
使用array_merge()函数
使用array\u merge()函数
您可以使用和:
对于循环,循环遍历$second\u数组
元素,检查其中是否有IDskill
等于$match\u元素->ID
此外,如果数组中的所有元素具有相同的属性,则可能不需要检查IDskill
和ID
是否存在 您可以使用和:
对于循环,循环遍历$second\u数组
元素,检查其中是否有IDskill
等于$match\u元素->ID
此外,如果数组中的所有元素具有相同的属性,则可能不需要检查
IDskill
和ID
是否存在 让我加上我的两分钱,如何从第二个数组的第一个数组中找到匹配ID的元素
$tmp = array_filter($array2, function($ar2) use ($ID) { return $ar2->IDskill === $ID; });
if ($tmp) // Found
else // Not found
所有代码都可能是
result = array()
foreach ($array1 as $item) {
$ID = $item->ID;
$tmp = array_filter($array2, function($ar2) use ($ID) { return $ar2->IDskill === $ID; });
if ($tmp) { // Found
$tmp = $item;
$tmp->MATCH = 1;
result[] = $tmp;
}
}
让我加上两分,如何从第二个数组的第一个数组中找到匹配ID的元素
$tmp = array_filter($array2, function($ar2) use ($ID) { return $ar2->IDskill === $ID; });
if ($tmp) // Found
else // Not found
所有代码都可能是
result = array()
foreach ($array1 as $item) {
$ID = $item->ID;
$tmp = array_filter($array2, function($ar2) use ($ID) { return $ar2->IDskill === $ID; });
if ($tmp) { // Found
$tmp = $item;
$tmp->MATCH = 1;
result[] = $tmp;
}
}
这是一个例子,如何组合或合并两个arrya。这是一个例子,如何组合或合并两个arrya。这是一个例子,如何组合或合并两个arrya。关闭,但我这里有严重性:注意消息:未定义的偏移量:12I使用
isset
检查更新了我的答案。您收到的通知可能是因为数组的大小不同。close但我这里有严重性:注意消息:未定义的偏移量:12I使用isset
检查更新了我的答案。您收到的通知可能是因为数组的大小不同。close但我这里有严重性:注意消息:未定义的偏移量:12I使用isset
检查更新了我的答案。您收到的通知可能是因为数组大小不同。@PatrikDupeliz为什么拒绝接受?有些东西不行吗?@PatrikDupeliz你为什么拒绝接受?有些东西不行吗?@PatrikDupeliz你为什么拒绝接受?有些东西不起作用吗?
result = array()
foreach ($array1 as $item) {
$ID = $item->ID;
$tmp = array_filter($array2, function($ar2) use ($ID) { return $ar2->IDskill === $ID; });
if ($tmp) { // Found
$tmp = $item;
$tmp->MATCH = 1;
result[] = $tmp;
}
}