I reduced execution time from 5 sec to .5 sec (10 times) by simply switching to the first pattern for a loop with 900 iterations over a string $text that reaches 800K by the end.PHP uses a temporary variable for combined assign-operators (unlike Java Script), therefore the left-hand-side (target) gets evaluated last.Why is the assignment operator not exclusive in the brackets inside the "while" loop? Does it mean that everytime a variable involved in an assignment operator is written n times inside console.log(), it will return values 2^n(value) in my case?
This trick will work in all dynamic languages that do lazy short-circuit evaluation of boolean expressions. In languages that are eager in evaluating boolean expressions, it'll return logical value (i.e. This question has already received several good answers.
In summary, this technique is taking advantage of a feature of how the language is compiled.
We are going to use these two variables to show you the working functionality of all the Assignment Operators in Java Script Programming Language ANALYSISIn this Java Script Assignment Operators program, We declared 2 integer values a, Total and we assigned values 7 and 21 respectively.
Below statements will perform Assignment operations on a and Total and then write the output to the rspective browser.
In addition it can be chained, so the types of default assignments being performed above could be recreated.
It's possible because logical operators in Java Script doesn't return boolean values but the value of the last element needed to complete the operation (in an OR sentence it would be the first non-false value, in an AND sentence it would be the last one).
The reason the assignment operator is not exclusive inside the loop is because of "scope." You've instantiated the 'value' variable as 2 outside of the while loop so when you change the value of 'value' it assigns the new value to the instantiated variable.
Your first inclination might be to think of this as "equal to". It really means that the left operand gets set to the value of the expression on the right (that is, "gets set to").
For example: Note that the assignment copies the original variable to the new one (assignment by value), so changes to one will not affect the other.
This may also have relevance if you need to copy something like a large array inside a tight loop.