PHP (1) EnvironmentandTypes

Source: Internet
Author: User
Tags vc9
PHP (1) EnvironmentandTypesPHP (1) environmentandtypes1.rebuildmywin7phpenvironmentdownloadthelatestversionofphp#sehttp: // mirror 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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.