Php 在一个循环数组中检测子集项
我有一些任务要检测是否有来自下一个循环数组的下一个项目的子集,这是为了取消设置来自该数组的项目,该数组的项目是来自该数组中下一个项目的子集 这是我的数组来自循环:Php 在一个循环数组中检测子集项,php,laravel,knapsack-problem,Php,Laravel,Knapsack Problem,我有一些任务要检测是否有来自下一个循环数组的下一个项目的子集,这是为了取消设置来自该数组的项目,该数组的项目是来自该数组中下一个项目的子集 这是我的数组来自循环: Array ( [0] => Array ( [0] => stdClass Object ( [name] => Sabrino [duration] =&
Array
(
[0] => Array
(
[0] => stdClass Object
(
[name] => Sabrino
[duration] => 7
)
)
[1] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
)
[2] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Building Relation Query
[duration] => 3
)
)
[3] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Building Relation Query
[duration] => 3
)
[2] => stdClass Object
(
[name] => Doing Looping
[duration] => 1
)
)
[4] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Building Relation Query
[duration] => 3
)
[2] => stdClass Object
(
[name] => Introduction To Laravel
[duration] => 1
)
)
[5] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Building Relation Query
[duration] => 3
)
[2] => stdClass Object
(
[name] => Learn Function
[duration] => 1
)
)
[6] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Building Relation Query
[duration] => 3
)
[2] => stdClass Object
(
[name] => improve something
[duration] => 1
)
)
[7] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Make View Controller and Index
[duration] => 3
)
)
[8] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Make View Controller and Index
[duration] => 3
)
[2] => stdClass Object
(
[name] => Doing Looping
[duration] => 1
)
)
[9] => Array
(
[0] => stdClass Object
(
[name] => Pr pr pr
[duration] => 3
)
[1] => stdClass Object
(
[name] => Make View Controller and Index
[duration] => 3
)
[2] => stdClass Object
(
[name] => Introduction To Laravel
[duration] => 1
)
)
)
我用这个代码来检测子集:
for ($i = 0; $i < count($sugesti); ++$i) {
if (!array_diff($sugesti[$i], $sugesti[$i + 1])) {
unset($sugesti[$i]);
}
}
for($i=0;$i
我想从下一个数组中删除其子集的数组尝试以下操作:
$existing = [];
foreach ($sugesti as $key => $sugest) {
foreach ($sugest as $key2 => $sug {
if (in_array($sug->name, $existing)) {
unset($sugesti[$key][$key2];
continue;
}
$existing[] = $sug->name;
}
}
很难理解你想做什么。也许如果你提供上面的例子,我们可以更好地理解你在寻找什么,我想展示的是该阵列中唯一的独特项目是真正的sintaks for in_阵列?很好地挑选出来的。对不起,我得去做点什么,然后半路回来。我已经更新了示例。结果仍然是错误的,如果我使用sintaks,它会给出一个空数组,但是如果在unset函数中删除key2,它也会删除第一个元素,它是唯一的,不会在数组中重复显示,而且,该文件中仍有重复的项目array@sab896很抱歉,您需要更清楚地了解您想要什么,或者调整代码以满足您的需要。