preko
Erfahrenes Mitglied
Ich habe zwei Arrays:
1. Array "workflow":
und dann noch:
2. Array "news":
Die Zahlen im zweiten Array enthalten Zahlen, die auch im oberen Array als "uid" auftauchen. Diese Datensätze sollen aus dem oberen Array gelöscht werden. Die zweite Liste ist quasi eine Ausschlußliste mit den uid`s der Datensätze, die im ersten Array gelöscht werden sollen. Danach soll der Index wieder neu geschrieben werden, aber erst wenn alle Löschungen vorgenommen worden sind.
Im o. g. Beispiel würden dann die ersten beiden Datensätze gelöscht werden, da die uid-Nr. im unteren Array vorkommt, der letzte Datensatz aber nicht. Im Anschluss daran müsste dann der Index neu erstellt werden, so dass der übrig gebliebene Datensatz den Index "0" statt bisher "2" erhält.
Ich habe an foreach() in Kombination mit array_split() gedacht, aber irgendwie funktioniert das nicht.
Hat jemand eine Idee was das Mittel der Wahl ist?
1. Array "workflow":
PHP:
array
(
[0] => array
(
[uid] => 140909
[pid] => 0
[date] => 1491556781
)
[1] => array
(
[uid] => 140910
[pid] => 0
[date] => 1495586886
)
[2] => array
(
[uid] => 140915
[pid] => 0
[date] => 1495687800
)
.
.
.
[4052] => array
(
[uid] => 155915
[pid] => 0
[date] => 1565677000
)
und dann noch:
2. Array "news":
PHP:
array
(
140900,140905,140909,140910...
);
Die Zahlen im zweiten Array enthalten Zahlen, die auch im oberen Array als "uid" auftauchen. Diese Datensätze sollen aus dem oberen Array gelöscht werden. Die zweite Liste ist quasi eine Ausschlußliste mit den uid`s der Datensätze, die im ersten Array gelöscht werden sollen. Danach soll der Index wieder neu geschrieben werden, aber erst wenn alle Löschungen vorgenommen worden sind.
Im o. g. Beispiel würden dann die ersten beiden Datensätze gelöscht werden, da die uid-Nr. im unteren Array vorkommt, der letzte Datensatz aber nicht. Im Anschluss daran müsste dann der Index neu erstellt werden, so dass der übrig gebliebene Datensatz den Index "0" statt bisher "2" erhält.
Ich habe an foreach() in Kombination mit array_split() gedacht, aber irgendwie funktioniert das nicht.
PHP:
foreach($workflow as $workflowSingle) {
foreach($news as $newsSingle) {
if ($workflowSingle['uid'] === $newsSingle) {
// Lösche Datensatz aus erstem Array
}
else {
break;
}
}
}
Hat jemand eine Idee was das Mittel der Wahl ist?