Cannot assign an empty string to a string offset

Viewed 19861

I've just installed PHP 7.1 and now I am seeing this error :

PHP Warning:  Cannot assign an empty string to a string offset in /postfixadmin/variables.inc.php on line 31

Line #31 :

$fDomains[0] = "";

How does on clear $fDomains[0] now in PHP 7.1?

4 Answers

My reason for this message 'PHP Warning: Cannot assign an empty string to a string offset' is: My $fDomains variable was initiated as a string, not as an array.

Either ($fDomains = "";) or ($fDomains[0] = "";) is wrong, but without seeing the rest of the code, it's impossible to say which is wrong.

If $fDomains is a string, then the assignment $fDomains='' will empty its contents. If $fDomains is an array, it should be initialized as $fDomains=array() instead of $fDomains="", and $fDomains[0]='' is the correct way to clear the string value of the first element in the array.

Actually, both of the assignments you illustrated in your comment (as reproduced at the top of this answer) are wrong - there shouldn't be a semicolon (;) at the end of the parenthesized expression, and unless you have a string that PHP needs to interpret (e.g., for embedded variables or escape sequences), you should use single quotes instead of double quotes - =""; should be =''.

Related