Array comparison and the corresponding relationship
Known quantity Group A:
$a = Array (
0 =
Array (
' Packageno ' = ' s2y140805025 ',
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4212 ',
),
1 =
Array (
' Packageno ' = ' s2y140805025 ',
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4214 ',
),
2 =
Array (
' Packageno ' = ' SYS140804073 ',
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4212 ',
),
3 =
Array (
' Packageno ' = ' SYS140804073 ',
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4213 ',
),
4 =
Array (
' Packageno ' = ' SYS140731064 ',
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4154 ',
),
5 =
Array (
' Packageno ' = ' SYS140731064 ',
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4210 ',
),
6 =
Array (
' Packageno ' = ' SYS140801090 ',
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4200 ',
),
7 =
Array (
' Packageno ' = ' SYS140801090 ',
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4210 ',
),
);
Have correspondence, for example Packageno s2y140805025 corresponds to Lotno 4212,4214 (type ecs0-235,cust_no is 12654172)
Also known as array B:
$b = Array (
0 =
Array (
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4211 ',
),
1 =
Array (
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4212 ',
),
2 =
Array (
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4213 ',
),
3 =
Array (
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4214 ',
),
4 =
Array (
' Type ' = ' ecs0-235 ',
' Cust_no ' = ' 12654172 ',
' Lotno ' = ' 4216 ',
),
5 =
Array (
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4154 ',
),
6 =
Array (
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4200 ',
),
7 =
Array (
' Type ' = ' ecs1-713 ',
' Cust_no ' = ' 12657727 ',
' Lotno ' = ' 4210 ',
),
);
Q: When the type and cust_no of arrays A and B are the same, the packageno corresponding to the Lotno in array A is contiguous in array B, and if not contiguous, the Packageno is displayed.
How do I handle it?
------Solution--------------------
function foo ($a, $b) {
foreach ($a as $v) {
$c [] = Array_search ($v, $b);
}
for ($i =1; $i
if (ABS ($c [$i]-$c [$i-1])! = 1) {
return ' discontinuous ';
}
}
return ' continuous ';