PHP и запятая при объявлении массива
Решил потестить разницу, между:
1 2 3 |
$arr = Array( 'a', 'b', 'c' ); |
и
1 2 3 |
$arr = Array( 'a', 'b', 'c', ); |
получил вполне ожидаемый результат: разницы нет, во втором случае, последний элемент не будет создан 🙂 Подробности теста под катом.
В мануале написано: PHP Arrays
The comma after the last array element is optional and can be omitted. This is usually done for single-line arrays, i.e. array(1, 2) is preferred over array(1, 2, ). For multi-line arrays on the other hand the trailing comma is commonly used, as it allows easier addition of new elements at the end.
Но, я все же решил проверить и написал такой примерчик:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php $arr_a = Array('a','b','c'); $arr_b = Array('a','b','c',); echo 'Array A:<br />'; var_dump($arr_a); echo '<br />'; echo 'Array B:<br />'; var_dump($arr_b); echo '<hr />'; echo 'Array A, count:'.count($arr_a); echo '<br />'; echo 'Array B, count:'.count($arr_b); echo '<hr />'; echo 'Array A:<br />'; foreach ($arr_a as $k=>$a) echo $k.'. '.$a.'<br />'; echo '<br />'; echo 'Array B:<br />'; foreach ($arr_b as $k=>$b) echo $k.'. '.$b.'<br />'; echo '<hr />'; echo 'Array A == Array B : '.($arr_a==$arr_b ? 'true':'false').'<br />'; echo 'Array A === Array B : '.($arr_a===$arr_b ? 'true':'false').'<br />'; |
Результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Array A: array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } Array B: array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } --------------------------------------- Array A, count:3 Array B, count:3 --------------------------------------- Array A: 0. a 1. b 2. c Array B: 0. a 1. b 2. c --------------------------------------- Array A == Array B : true Array A === Array B : true |
Как видим, мануал не обманул и поэтому можно смело использовать оба вида записей.
Author: | Tags: /
| Rating:
Leave a Reply