frage zu foreach

Du füllst alle Entites in ein Array. Dann nimmst du den passiv-Array aus dem Formular und nimmst die Differenz. Dass sind dann di nicht passiven.

PHP:
$entities = array('A', 'B', 'C', 'D');
$passiv = $_POST['passiv'];
$active = array_diff($entities, $passiv);
 
Aber wird da nicht derjenige, den ich raushaben möchte in beiden Array mit reingenommen?

gibt es eine Möglichkeit die Ergebnisse der forschleife in ein assozatives Array zu speichern?

Hatte an folgendes gedacht?

PHP:
$p=implode(" ' AND MID<>' ", $passiv);
var_dump(("UPDATE ".DB_TABLE_PA." SET bis='".$day.".".$month.".".$year."' WHERE MID<>'".$p."'"));
 
Wenn Du den Primärschlüssel mitnimmst, hast Du immer einen Bezugspunkt zum jeweiligen Datensatz.

Aber wird da nicht derjenige, den ich raushaben möchte in beiden Array mit reingenommen?

Also bei meiner Variante nicht, da es einzig an Dir liegt, wie Du die Änderungen einzelner Felder interpretieren willst.

Denn ob a==x und oder b!=y usw. kannst Du selber wählen. Du wolltest doch alle Datensätze haben, die in der foreach nicht enthalten waren; das sind nun mal alle diejenigen, die nicht verändert wurden.
 
Zuletzt bearbeitet:
Nein, du hast ihn nicht in beiden Arrays.

Hier ein kleines Testbeispiel
PHP:
$entities = array('A', 'B', 'C', 'D');
$passiv = array('B', 'D');
$active = array_diff($entities, $passiv);
var_dump($passiv, $active);
und so sieht das Resultat aus
Code:
array(2) {
  [0]=>
  string(1) "B"
  [1]=>
  string(1) "D"
}
array(2) {
  [0]=>
  string(1) "A"
  [2]=>
  string(1) "C"
}

Für assozative Arrays gibts entsprechende Funktionen

array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
array_diff_key — Berechnet den Unterschied zwischen Arrays indem es die Schlüssel vergleicht
array_diff_uassoc — Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Funktion vorgenommen wird
array_diff_ukey — Berechnet den Unterschied von Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
array_diff — Ermittelt die Unterschiede von Arrays
 

Neue Beiträge

Zurück