Je l'ai vu beaucoup utilisé, surtout avec SimpleXML.
Est-ce:
$row->unixtime
simplement la même chose que faire ça ???
$row[unixtime]
Comment cela s'appelle-t-il, pourquoi/comment l'utiliser?
Je l'ai vu beaucoup utilisé, surtout avec SimpleXML.
Est-ce:
$row->unixtime
simplement la même chose que faire ça ???
$row[unixtime]
Comment cela s'appelle-t-il, pourquoi/comment l'utiliser?
Object Oriented Programming with PHP
$row->unixtime
$ row est un objet. Unixtime est une propriété de cet objet.
$row[unixtime] // I hope you meant $row['unixtime'];
$ row est un tableau (associé). Unixtime est une clé dans ce tableau. Demander «Quels objets sont» est un peu vague.
Mise en route avec OOP est pas une tâche triviale. Il faut un bon moment pour apprendre la syntaxe et les nuances, un peu plus de temps pour comprendre les avantages, et des années (discutablement) pour l'utiliser efficacement.
Non, ce ne sont pas les mêmes. Il s'agit de object oriented programming.
->
indique l'accès à un membre d'objet. Par exemple:
class Test {
public $foo;
public $blah;
}
$test = new Test;
$test->foo = 'testing';
[]
est un opérateur d'accès au tableau, utilisé par de véritables tableaux. Les objets peuvent également l'utiliser si elles mettent en œuvre l'interface ArrayAccess
:
class Test2 implements ArrayAccess {
private $foo = array();
public function offsetGet($index) { return $this->foo[$index]; }
// rest of interface
}
$test2 = new Test2
$test2['foo'] = 'bar';
Il est tout à fait différent.
Le premier, $row->unixtime
signifie que vous accédez à la variable publique $unixtime
de l'objet/instance de la classe $row
. Ceci est Programmation orientée objet.
Exemple:
class example{
public $unixtime = 1234567890;
}
$row = new example();
echo $row->unixtime; // echos 1234567890
Le second, est d'obtenir la 'unixtime'
clé du tableau $row
. Ceci est appelé Tableau associatif. Exemple:
$row = array(
'unixtime' => 1234567890
);
echo $row['unixtime']; // echos 1234567890
Vous pouvez facilement convertir entre les objets et tableaux en utilisant les (array)
et (object)
moulages. Exemple:
$row = array(
'unixtime' => 1234567890
);
$row = (object)$row;
echo $row->unixtime; // echos 1234567890
Hors-sujet: En fait, je manqué le temps d'époque unix 1234567890 en Février.
Pour que votre réponse courte et douce ...
$row->unixtime
C'est un objet
$row[unixtime]
C'est un tableau
Il est probable un autre idiome tiré de the C language, qui est en fait ce que PHP est écrit. Beaucoup de fonctionnalités de PHP, la syntaxe, un Les opérateurs nd, et même beaucoup de fonctions natives de PHP, ont leurs racines dans C.
Oui, utilisez '$ row ['unixtime']' au lieu de '$ row [unixtime]' – mauris