php數組{array}使用教程

來源:互聯網
上載者:User

php數組{array}使用教程

現在,這冗長的設定每個屬性使用一套方法-必須有一個更簡單的方法。這就是關聯陣列結合我們構造派上用場。讓我們創造我們的使用者物件,並給它幾個執行個體時效能

$attribs = array(
  'name'  => 'Kirupa',
  'job'  => 'Engineer',
  'school' => 'MIT',
  'homeTown' => 'Spanish Fort',
  'homeState' => 'Alabama'
  );
$kirupa = new User( $attribs );

echo 'Name: '.$kirupa->getName().'<br />';  // Kirupa
echo 'Job: '.$kirupa->getJob().'<br />';  // Engineer
echo 'School: '.$kirupa->getSchool().'<br />';  // MIT
echo 'Home Town: '.$kirupa->getHomeTown().'<br />'; // Spanish Fort
echo 'Home State: '.$kirupa->getHomeState().'<br />'; // Alabama

class User {
 private $name;
 private $job;
 private $school;
 private $homeTown;
 private $homeState;
 
 function __construct( $attribs ) {
  $this->name  = $attribs['name'];
  $this->job  = $attribs['job'];
  $this->school  = $attribs['school'];
  $this->homeTown  = $attribs['homeTown'];
  $this->homeState = $attribs['homeState'];
 }
 
 /* name methods */
 function setName( $val ) {
  $this->name = $val;
  return;
 }
 
 function getName() {
  return $this->name;
 }
 
 /* job methods */
 function setJob( $val ) {
  $this->job = $val;
  return;
 }
 
 function getJob() {
  return $this->job;
 }
 
 /* school methods */
 function setSchool( $val ) {
  $this->school = $val;
  return;
 }
 
 function getSchool() {
  return $this->school;
 }
 
 /* home town methods */
 function setHomeTown( $val ) {
  $this->homeTown = $val;
 }
 
 function getHomeTown() {
  return $this->homeTown;
 }
 
 /* home state methods */
 function setHomeState( $val ) {
  $this->homeState = $val;
 }
 
 function getHomeState() {
  return $this->homeState;
 }
}

我一直的一套方法,如果我們想要改變的屬性,但現在的效能,建立了經由__construct前面。這就是說,我們通過我們的$ attribs數組對象的執行個體,這反過來又通過$ attribs的自動構造。優勢利用關聯陣列為此目的,我們並不需要明確地規定所有的變數與方法。這是極其方便的時候將與MySQL PHP的資料,我們將儘快支付。但首先,我們需要學習一點方法的互動和對象分組。

法相互作用
在這一點上,我們的方法不互動。讓我們添加一個小功能,例如,我們充分狀態轉換的名字給適當的縮寫。

$attribs = array(
  'name'  => 'Kirupa',
  'homeState' => 'Alabama'
  );
$kirupa = new User( $attribs );

echo 'Name: '.$kirupa->getName().'<br />';   // Kirupa
echo 'Home State: '.$kirupa->getHomeState().'<br />';  // Alabama
echo 'State Abbr.: '.$kirupa->getHomeStateAbbr().'<br />'; // AL

class User {
 private $name;
 private $homeState;
 
 function __construct( $attribs ) {
  $this->name  = $attribs['name'];
  $this->homeState = $attribs['homeState'];
 }
 
 /* name methods */
 function setName( $val ) {
  $this->name = $val;
  return;
 }
 
 function getName() {
  return $this->name;
 }
 
 /* home state methods */
 function setHomeState( $val ) {
  $this->homeState = $val;
 }
 
 function getHomeState() {
  return $this->homeState;
 }
 
 function getHomeStateAbbr() {
  $abbr = States::$ABBRS[$this->getHomeState()];
  if( $abbr ) {
   return $abbr;
  }
  else {
   return 'Unknown';
  }
 }
}

class States {
 /* ideally this would be held in a database */
 static $ABBRS = array (
  'Alabama' => 'AL',
  'Michigan' => 'MI',
  'New York' => 'NY'
  );
}

在這個例子中,我們充分利用國家的名字獲得相應的縮寫。我們這樣做是一類使用同一個靜態變數。靜態變數一般不會改變,可沒有辦法。這些變數的行為更多的參考和可用於像你的資料庫連接設定和其他網站廣泛的變數。靜態變數通常是命名與所有大寫字母。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.