PHP (1) EnvironmentandTypesPHP (1) environmentandtypes1.rebuildmywin7phpenvironmentdownloadthelatestversionofphp?semirror. cc. columbia. edupubsoftware PHP (1) Environment and Types
PHP (1) Environment and Types
1. Rebuild my win7 PHP environment
Download the latest version of PHP eclipse
Http://mirror.cc.columbia.edu/pub/software/eclipse/technology/epp/downloads/release/helios/SR2/eclipse-php-helios-SR2-win32-x86_64.zip
Download the apache 2.2.21 version of windowns binary
Http://mirrors.sonic.net/apache//httpd/binaries/win32/httpd-2.2.21-win32-x86-no_ssl.msi
Download the php source code
Http://us.php.net/distributions/php-5.3.8.tar.gz
Http://windows.php.net/downloads/releases/php-5.3.8-Win32-VC9-x86.zip
Http://windows.php.net/downloads/releases/php-5.2.17-Win32-VC6-x86.zip
Install apache2.2.21
Unzip php file php-5.3.8-Win32-VC9-x86.zip to the local dirver D: \ tool \ php-5.3.8
Configure the apache configuration file httpd. conf
LoadModule php5_module "d:/tool/php-5.3.8/php5apache2_2.dll"
AddType application/x-httpd-php. php
AddType application/x-httpd-php-source. phps
Action application/x-httpd-php "d:/tool/php-5.3.8/php-cgi.exe"
AddType application/x-httpd-php. html
AddType application/x-httpd-php. htm
Adddefacharcharset UTF8
PHPIniDir "d:/tool/php-5.3.8"
Create and change the php. ini file according to my php blog before. Make one file index. php to the htdoc directory of apache.
Visit this page http: // localhost/index. php, everything is fine till now.
And I will configure this php environment work with eclipse php version according to my prevous blogs.
But this time, I directly change the directory
DocumentRoot "C:/Users/Digby/workspace_php"
2. PHP grammer review
3. Types
Arrays
An array can be created by the array () language construct. It takes as parameters any number of comma-separated key => value pairs.
The key can only be an integer or string, value may be any value of any type.
$ Arr = array ("foo" => 1, 12 => true );
Echo gettype ($ arr [12])."
";
Echo $ arr [12];
Output:
Boolean
1
If a key is not specified for a value, the maximum of the integer indices is taken and the new key will be that value plus 1. if a key that already has an assigned value is specified, that value will be overwritten.
$ Arr = array (6 => 3, 5 => 4, 5, 6, "B" => 12, 6 => 100 );
Echo $ arr [6]."
";
Echo $ arr [5]."
";
Echo $ arr [7]."
";
Echo $ arr [8]."
";
Output:
100
4
5
6
Creating/modifying with square bracket syntax
$ Arr = array (5 => 1, 12 => 2 );
$ Arr [] = 56;
// This is the same as $ arr [13] = 56;
// At this point of the script
$ Arr ["x"] = 42;
// This adds a new element
// The array with key "x"
Echo $ arr [13]."
";
Unset ($ arr [5]); // This removes the element from the array
Unset ($ arr); // This deletes the whole array
If (NULL = $ arr ){
Echo "empty arr! ";
}
?>
As mentioned above, if no key is specified, the maximum of the existing integer indices is taken, and the new key will be that maximum value plus 1.
// Create a simple array.
$ Array = array (1, 2, 3, 4, 5 );
Print_r ($ array );
Echo"
";
// Now delete every item, but leave the array itself intact:
Foreach ($ array as $ I =>$ v ){
Unset ($ array [$ I]);
Echo "unset $ I => $ v "."
";
}
Print_r ($ array );
Echo"
";
// Append an item (note that the new key is 5, instead of 0 ).
$ Array [] = 6;
Print_r ($ array );
// Re-index:
$ Array = array_values ($ array );
$ Array [] = 7;
Echo"
";
Print_r ($ array );
Output:
Array ([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)
Unset 0 => 1
Unset 1 => 2
Unset 2 => 3
Unset 3 => 4
Unset 4 => 5
Array ()
Array ([5] => 6)
Array ([0] => 6 [1] => 7)
Useful functions
The unset () function allows removing keys from an array. Be aware that the array will not be reindexed.
The array_values () function can be used to 'remove and shift '.
$ A = array (1 => 'one', 2 => 'two', 3 => 'Three ');
Unset ($ a [2]);
/* Will produce an array that wowould have been defined
$ A = array (1 => 'one', 3 => 'Three ');
And NOT
$ A = array (1 => 'one', 2 => 'Three ');
*/
Print_r ($ );
Echo"
";
$ B = array_values ($ );
// Now $ B is array (0 => 'one', 1 => 'Three ')
Print_r ($ B );
Array do's and don's ts
$ Foo [bar] is wrong, but $ foo ['bar'] is right. this does not mean to always quote the key. do not quote keys which are constants or variables, as this will prevent PHP from interpreting them.
Examples:
$ Arr = array ('fruit' => 'apple', 'veggi' => 'carrot ');
// Correct
Print $ arr ['fruit']."
"; // Apple
Print $ arr ['veggi']."
"; // Carrot
// This defines a constant to demonstrate what's going on. The value 'veggi'
// Is assigned to a constant named fruit.
Define ('fruit', 'veggi ');
// Notice the difference now
Print $ arr ['fruit']."
"; // Apple
Print $ arr [fruit]."
"; // Carrot
// It's inside a string. Constants are not looked for within strings
Print "Hello $ arr [fruit]
";
// Braces surrounding arrays within strings allows constants
// To be interpreted
Print "Hello {$ arr [fruit]}
"; // Hello carrot
Print "Hello {$ arr ['fruit']}
"; // Hello apple
References:
Http://sillycat.iteye.com/blog/731677
Http://sillycat.iteye.com/blog/768664
Http://sillycat.iteye.com/blog/769110
Http://sillycat.iteye.com/blog/770369