מדריך PHP קודם פרק 6. סוגי נתונים הבא That is to say, if you assign a string value to variable var, var becomes a string. If you then assign an integer value to var, it becomes an integer. $foo = "0"; / / $foo is string (ASCII 48) $foo += 2; / / $foo is now an integer (2) $foo = $foo + 1.3; / / $foo is now a float (3.3) $foo = 5 + "10 Little Piggies"; / / $foo is integer (15) $foo = 5 + "10 Small Pigs"; / / $foo is integer (15) If the last two examples above seem odd, see String conversion. הערה: $a = 1; / / $a is an integer $a[0] = "f"; / / $a becomes an array, with $a[0] holding "f " While the above example may seem like it should clearly result in $a becoming an array, the first element of which is 'f', consider this: $a = "1"; / / $a is a string $a[0] = "f"; / / What about string offsets? What happens? Since PHP supports indexing into strings via offsets using the same syntax as array indexing, the example above leads to a problem: should $a become an array with its first element being "f", or should "f" become the first character of the string $a? For this reason, as of PHP 3.0.12 and PHP 4.0b3-RC4, the result of this automatic conversion is considered to be undefined. Fixes are, however, being discussed. $foo = 10; / / $foo is an integer $bar = (float) $foo; / / $bar is a float הערה: $foo = (int) $bar; $foo = (int) $bar; When casting or forcing a conversion from array to string, the result will be the word Array. When casting or forcing a conversion from object to string, the result will be the word Object. When casting from a scalar or a string variable to an array, the variable will become the first element of the array: $var = 'ciao'; $arr = (array) $var; echo $arr[0]; / / outputs 'ciao' When casting from a scalar or a string variable to an object, the variable will become an attribute of the object; the attribute name will be 'scalar ': $var = 'ciao'; $obj = (object) $var; echo $obj - scalar; / / outputs 'ciao' קודם ראשי הבא NULL למעלה משתנים