array_diff arbeitet auf der Werte des Arrays und ignoriert die Schlüssel.
Denn der Wert von genre in Ihrem ersten Array ist 1das heißt, wenn der Wert 1 tritt ein für jeden Schlüssel im zweiten Array, dann die genre Der Schlüssel wird aus dem ersten Array entfernt.
Sehen Sie sich Ihre Arrays ohne die Schlüssel an, und Sie werden sehen, was ich meine. Sie haben im Wesentlichen zwei Wertelisten, ['0','v2','1','text','us','1'] und ['v1','v2','0','text','canada','1']. Der einzige Wert aus der ersten Liste, der nicht in der zweiten erscheint, ist 'us'.