我見過這個用法很多,特別是使用SimpleXML。
是這樣的:
$row->unixtime
只是同這樣???
$row[unixtime]
這是什麼叫,爲什麼/應該如何使用?
我見過這個用法很多,特別是使用SimpleXML。
是這樣的:
$row->unixtime
只是同這樣???
$row[unixtime]
這是什麼叫,爲什麼/應該如何使用?
Object Oriented Programming with PHP
$row->unixtime
$行是一個對象。 unixtime是該對象的一個屬性。
$row[unixtime] // I hope you meant $row['unixtime'];
$ row是一個(關聯)數組。 unixtime是該陣列中的關鍵。
問'對象是什麼'有點含糊。
開始使用OOP Object Oriented Programming(維基百科)不是一個簡單的任務。學習語法和細微差別需要很長的時間,有更多的時間去理解優點,以及多年(可以說)實際上有效地使用它。
不,他們不一樣。這是關於object oriented programming。
->
指示訪問對象成員。例如:
class Test {
public $foo;
public $blah;
}
$test = new Test;
$test->foo = 'testing';
[]
是一個數組訪問操作符,由true數組使用。如果實現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';
它完全不同。
第一個$row->unixtime
表示您正在訪問類$row
的對象/實例的公共變量$unixtime
。這是面向對象編程。
實施例:
class example{
public $unixtime = 1234567890;
}
$row = new example();
echo $row->unixtime; // echos 1234567890
第二個,是獲取陣列$row
的關鍵'unixtime'
。這被稱爲關聯陣列。例如:
$row = array(
'unixtime' => 1234567890
);
echo $row['unixtime']; // echos 1234567890
您可以對象和數組之間通過(array)
和(object)
鑄件輕鬆轉換。例如:
$row = array(
'unixtime' => 1234567890
);
$row = (object)$row;
echo $row->unixtime; // echos 1234567890
題外話:其實我錯過了Unix紀元時間1234567890二月。
爲了讓你的回答簡短而甜蜜......
$row->unixtime
這是一個對象
$row[unixtime]
這是一個陣列
很可能另一個成語從拉它實際上是用PHP編寫的。許多PHP的特性,語法,a nd運算符,甚至很多PHP的本地函數,都有它的根。C:
是的,使用'$ row ['unixtime']'而不是'$ row [unixtime]' – mauris 2012-11-09 02:34:46