0 votes
in SoSci Survey (dt.) by s109993 (12.0k points)

Hallo,

wir haben unsere Serverumgebung von php7 auf php 8.2.1 geupdatet. Jetzt bekomme ich bei einfachen Filterfragen eine Warnung;

if ((value('A118') == 2) & (value('A119') == 2))   {  
option('nextbutton', 'Fragebogen abschicken');
}

Die Warnung stört sich am "&" Operator- jetzt bin ich nicht sicher, ob ich das generell gerade mit STATA verwechsel, aber mit PHP7 habe ich da keine Warnung bekommen, und ich bin relativ sicher, dass das funktioniert hat.

Gab es bei PHP8 eine Änderung in diesem Bereich? Ich bin die Änderungen schon durchgegangen, habe aber nichts zum "&" Operator gefunden.

1 Answer

0 votes
by SoSci Survey (328k points)
selected by s109993
 
Best answer

Der Operator & ist eine Bit-Verknüpfung (UND) und technisch nur für Integer-Werte sinnvoll. Der Operator && ist der Bool'sche UND-Operator, der für die Verknüpfung in einem IF-Filter wie von Ihnen gepostet, korrekt wäre.

123 & 234 = 01111011 & 11101010 = 01101010 = 106

Das einfache & funktioniert(e) trotzdem, weil PHP vor der Anwendung von Operatoren diese auf den richtigen Typ bringt, also true -> 1

true & true = 1 & 1 = 1

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...