有一个数组
$order = [1,2,3];
这是主数组,您需要使用它检查另一个数组的顺序。
以及一个用于检查顺序的数组
$test = [
0 => [
'id' => 1
],
1 => [
'id' => 3
],
];
事实证明,您需要确定id
第二个数组是否按第一个数组的顺序排列
如果第一个数组的顺序是1,2,3
,第二个1,3
- 那么这是正确的顺序
如果第一个数组的顺序是1,2,3
,第二个2,3
- 那么这是正确的顺序
如果第一个数组的顺序是1,2,3
,第二个1,2,3
- 那么这是正确的顺序
如果第一个数组的顺序是1,2,3
,而第二个3,2
- 那么这不是正确的顺序
从哪里开始?
输出:
1(13)[1]
2(32)[]
3(12)[1]
4(23)[1]
5(31)[]
6(21)[]
您可以以某种方式进行搜索,尽管您想要更优雅(例如,以某种方式使用
array_shift($oder)
)。取元素data
,在 中查找order
,如果找到,切order
到这个找到的位置,然后继续。如果未找到,则不匹配。补充:
类似这样的东西(前一个函数的主体),但我不确定它是否正常工作。