Raketenwilli: PHP Logik: Zwei JSON mit Sendedaten vergleichen und Differenzen aufzeigen!?

Beitrag lesen

Doch da gibt es z.B. die Tagesschau die mehrfach täglich auf verschiedenen Sendern läuft.

Und nicht nur das. Bei vielen Sendern läuft das Abendprogramm so 2 bis 3x durch...

Das sieht für mich so aus, als wäre Dein Vorhaben nicht so einfach realisierbar.

Wenn also "Hump haut Lump" um 20:15, 23:15 und 02:15 laufen sollte, dann sähe Dein erstes Json so aus:

[ 
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709579700,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709586900,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709601300,
	 "Sender": "RotzTV"
  }  
]

Durch eine Ansprache über eine völlig neue Zahnpaste vom großen Willi verschieben sich die Sendungen (zweites JSON) um 4 Minuten und 30 Sekunden

[ 
  {
	 "Titel": "Ansprache von großen Willi",
	 "Timestamp": 1709579700,
	 "Sender": "RotzTV"
  }
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709579970,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709587170,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709601570,
	 "Sender": "RotzTV"
  }  
]

Was willst Du da wie vergleichen? Da ist zu wenig eindeutiges drin. Aber das führt auch zu folgender Frage:

Ich möchte nun meine Json mit der externen JSON vergleichen und Änderungen/Neu Daten angezeigt bekommen.

Dann bau mal dafür einen Regelsatz dafür, wie Du eine Sendungs-ID ermittelst. Die könnte aus Sender, Titel, Wiederholungsnummer bestehen:

[ 
  {
	 "Titel": "Hump haut Lump",
   "Wiederholung": 0,
	 "Timestamp": 1709579700,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
   "Wiederholung": 1,
	 "Timestamp": 1709586900,
	 "Sender": "RotzTV"
  },
  {
	 "Titel": "Hump haut Lump",
   "Wiederholung": 2,
	 "Timestamp": 1709601300,
	 "Sender": "RotzTV"
  }  
]

oder eben:

[ 
  {
   "ID": "RotzTV:0:Hump haut Lump",
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709579700,
	 "Sender": "RotzTV"
  },
  {
   "ID": "RotzTV:1:Hump haut Lump",
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709586900,
	 "Sender": "RotzTV"
  },
  {
   "ID": "RotzTV:2:Hump haut Lump",
	 "Titel": "Hump haut Lump",
	 "Timestamp": 1709601300,
	 "Sender": "RotzTV"
  }  
]

(Auf den zweiten verzichte ich mal)

Pass aber auf, dass Du die „Sendungs-ID“ aus nach Timestamp sortierten Arrays bekommst. Auch brauchts Du dann Regeln, was z.B. geschehen soll, wenn Sendungen eingefügt werden und dafür Wiederholungen entfernt bzw. gegen kürzere Werbesendungsfüllpausen ausgetauscht werden.