PHP $ değişken-> şey hikayesi nedir?

5 Cevap php

Bu özellikle SimpleXML ile, bir çok kullanılan gördüm.

Şudur:

$row->unixtime

Bu yapıyor gibi sadece aynı??

$row[unixtime]

Bu ne denir, neden / nasıl kullanılmalıdır?

5 Cevap

Object Oriented Programming with PHP

$row->unixtime

$ Row bir amacıdır. unixtime o nesnenin bir özelliğidir.

$row[unixtime] // I hope you meant $row['unixtime'];

$ Satır bir (ortak) dizidir. unixtime bu dizi bir anahtardır.

'Ne Nesneler' sorma biraz muğlak.

OOP ile başlarken önemsiz bir görev değildir. Bu sözdizimi ve nüansları, avantajları anlamak için biraz daha zaman öğrenmek için iyi bir süre alır ve yıl (muhtemelen) aslında etkili bir şekilde kullanmak için.

Bu tamamen farklı.

İlki, $row->unixtime Eğer ortak değişken $unixtime sınıfın nesne / örneğinin $row erişme anlamına gelir. Bu Object Oriented Programming.

Örnek:

class example{
  public $unixtime = 1234567890;
}

$row = new example();
echo $row->unixtime; // echos 1234567890

The second one, is to get the key 'unixtime' of the array $row. This is called Associative Array. Örnek:

$row = array(
          'unixtime' => 1234567890
       );
echo $row['unixtime']; // echos 1234567890

You can easily convert between objects and arrays by using the (array) and (object) casts. Örnek:

$row = array(
          'unixtime' => 1234567890
       );
$row = (object)$row;
echo $row->unixtime; // echos 1234567890

Off-topic: I actually missed out the unix epoch time 1234567890 in February.

Hayır, onlar aynı değiliz. It yaklaşık object oriented programming.

-> bir amacı elemanı erişim gösterir. Örneğin:

class Test {
  public $foo;
  public $blah;
}

$test = new Test;
$test->foo = 'testing';

[] true dizileri tarafından kullanılan bir dizi erişim operatörüdür. Nesneleri de onlar ArrayAccess arabirimini uygulamak durumunda kullanabilirsiniz:

class Test2 implements ArrayAccess {
  private $foo = array();

  public function offsetGet($index) { return $this->foo[$index]; }
  // rest of interface
}

$test2 = new Test2
$test2['foo'] = 'bar';

Cevabınız kısa ve tatlı yapmak için ...

$row->unixtime

Bu object olduğu

$row[unixtime]

Bu array olduğu

Bu muhtemelen PHP PHP'nin özelliklerin birçoğu, sözdizimi ve operatörler, ve PHP'nin fonksiyonları hatta birçok C. kökleri var yazıldığı aslında ne the C language çekti başka bir deyim, bu