como é matriz (0) diferente da matriz ()

votos
1
$variable = array(0);

$variable = array();

como eles são diferentes?

Publicado 27/08/2009 em 07:50
fonte usuário
Em outras línguas...                            


4 respostas

votos
9

O primeiro preenche uma matriz com um número 0, o último é uma matriz vazia.

Respondeu 27/08/2009 em 07:51
fonte usuário

votos
7

O primeiro contém um único elemento, um número inteiro de zero. O parâmetro não é um "initializer tamanho" como você pode imaginar. Você pode ver isso usando var_dump sobre eles:

$foo = array(0);
var_dump($foo);

$bar = array();
var_dump($bar);

este saídas

array(1) {
  [0]=>
  int(0)
}
array(0) {
}
Respondeu 27/08/2009 em 07:57
fonte usuário

votos
4

No primeiro caso:

$variable = array(0);
var_dump($variable);

Você recebe:

array
  0 => int 0

isto é, uma matriz com um elemento cujo valor é 0.


E, no segundo caso:

$variable = array();
var_dump($variable);

você obtém:

array
  empty

isto é, uma matriz vazia.

Respondeu 27/08/2009 em 07:56
fonte usuário

votos
2

Além meder:

$ = Variável matriz (0);
count ($ variável); // 1
vazia ($ variável); // false
(! $ Variável) // false

$ Variável = matriz ();
count ($ variável); // 0
vazia ($ variável); // verdade
(! $ Variável) // true
Respondeu 27/08/2009 em 07:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more