Variable scope difference between PHP and C: block scope is not exactly the same?
问题 The following PHP code will output 3 . function main() { if (1) { $i = 3; } echo $i; } main(); But the following C code will raise a compile error. void main() { if (1) { int i = 3; } printf("%d", i); } So variables in PHP are not strictly block-scoped? In PHP, variables defined in inner block can be used in outer block? 回答1: PHP only has function scope - control structures such as if don't introduce a new scope. However, it also doesn't mind if you use variables you haven't declared. $i won