Please someone explain this syntax: I am confusing the symbol -> with the symbol =>

Asked

Viewed 46 times

1

$produto = array();
$produto['descricao'] = 'Chocolate Amargo';
$produto['estoque'] = 150;
$produto['preco'] = 2;

$objeto = new stdClass;
foreach($produto as $chave=>$valor){
    $objeto->$chave = $valor;
}

echo $objeto->descricao;
  • 1

    => is only used for access in array type data, -> is used to access properties in an object

  • remembering that to convert the array $produto in object, just do so: $objeto=(object)$produto;

  • Thank you very much for the clarification folks.

1 answer

4

Basically you use the -> to access object properties (objects defined by you or even a stdClass) and the => to address a content somewhere.

Let’s take a few examples:

<?php

class Foo {
    // Criamos um atributo $name para o objeto Foo.
    public $name = 'Bar';
}

// Instânciamos o objeto.
$foo = new Foo;

// Acessamos sua propriedade utilizando o ->
echo $foo->name;

Now, let’s go to some uses of => (which, as I said, serves to address a content somewhere).

// Colocamos o conteúdo Bar dentro do índice name do array $foo.
$foo = array(
    'name' => 'Bar'
);

foreach( $bars as $key=>$values ) {
     // Ou seja, temos um array de $bars e percorremos cada um.
     // O $values é alterado a cada iteração desse foreach.
     // O $key é o índice de cada iteração (0, 1, 2 e etc).
}
  • Ah yes now I understand, thank you Luciano.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.