machineaddict
machineaddict

Reputation: 3236

Declare php array as javascript array situation

I was unable to find an answer to this situation that I have stumbled uppon this morning. I have declared some php variables as I usually do in javascript (by mistake). I was surprised that the code actually worked. I have tested it under Linux and it works fine. Under WAMP on Windows does not work.

The code:

<?php

error_reporting(E_ALL);

$phones = [];

var_dump($phones);

?>

Result in Linux:

array(0) {
}

Result in Windows:

Parse error: syntax error, unexpected '[' in D:\wamp\www\test.php on line 7

Question: Is this a valid declaration of an array in php?

Upvotes: 3

Views: 115

Answers (3)

Ardy Dedase
Ardy Dedase

Reputation: 1088

You should check the PHP Version on both your Linux and Windows machines.

I suspect that your Linux has PHP 5.4+ and Windows has PHP 5.3.x or lower.

I suggest you use array() instead of the short array syntax [] which is only valid in 5.4.

Upvotes: 2

Techie
Techie

Reputation: 45124

PHP 5.4.0 offers a wide range of new features: Read more

Short array syntax has been added,

e.g.

$a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];

Above syntax is not supported below versions than 5.4.0. According to my understanding You might be running different versions of PHP in Linux & Windows. Use phpinfo() to check the PHP versions.

Upvotes: 6

Matteo Tassinari
Matteo Tassinari

Reputation: 18584

The [] syntax is valid only in PHP 5.4 or newer, check your PHP version on windows.

Upvotes: 6

Related Questions