A non well formed numeric value encountered

roman numeral 1005700 1920
Quelle: Pixabay, TanteTati

Dieser Fehler wird mir in einer Zeile angezeigt, in der ich ein Array mit WordPress-Post-IDs befüllen will. Dafür habe ich am Anfang der Funktion eine leere Variable deklariert. Post IDs in WordPress sind doch Zahlen?

Das eigentliche Problem ist dann nicht in jener Zeile zu finden, auf die sich in diesem Fall die Fehleranzeige bezieht, sondern an der Stelle an der die Variable die befüllt werden soll, als String ($variablenname = '') deklariert wurde. Es müsste dann heißen $variablenname = array(); , resp. man muss dafür keine leere Variable definieren. Gibt auch keine Notice, es sei denn befüllt wird das Array unter definierten Bedingungen, und das Array soll später unabhängig davon abgefragt werden, dann sollte es die Variable auch geben, wenn die Bedingungen nicht zutreffen.

Seit PHP 7.1 wird eine als (auch leerer) String definierte Variable nicht mehr automatisch zu einem Array konvertiert, wenn ihr zum ersten Mal ein Wert mit eckigen Klammern zugewiesen wird.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable