繁体   English   中英

声明多个变量的方法

[英]methods of declaring multiple variables

我有以下代码块:

$ship = $this->get_address($this->dealer_num);
$bill = $this->get_address($this->bill_to_num);

$this->ship_name =     $ship['CMNAME'];
$this->ship_address1 = $ship['CMLNE1'];
$this->ship_address2 = $ship['CMLNE2']!='' ? $ship['CMLNE2'] : NULL;
$this->ship_address3 = $ship['CMLNE2']!='' ? $ship['CMLNE3'] : NULL;
$this->ship_city =     $ship['CMCITY'];
$this->ship_state =    $ship['CMST'];
$this->ship_zip =      $ship['CMZIP'];
$this->ship_country =  $ship['CMCTRY'];

$this->bill_name =     $bill['CMNAME'];
$this->bill_address1 = $bill['CMLNE1'];
$this->bill_address2 = $bill['CMLNE2']!='' ? $bill['CMLNE2'] : NULL;
$this->bill_address3 = $bill['CMLNE3']!='' ? $bill['CMLNE3'] : NULL;
$this->bill_city =     $bill['CMCITY'];
$this->bill_state =    $bill['CMST'];
$this->bill_zip =      $bill['CMZIP'];
$this->bill_country =  $bill['CMCTRY'];

这是get_address的定义:

private function get_address($key) {
      $result = db_query('SELECT CMNAME, CMLNE1, CMLNE2,
                          CMLNE3, CMCITY, CMST, CMZIP, CMCTRY
                          FROM myTable
                          WHERE C1STKY = :key;',
                         array(':key' => $key));  
      $info = $result->fetch(PDO::FETCH_ASSOC);
      return $info;
}

声明这些变量的替代方法是什么? 我讨厌变量声明的一长串。 有没有更优雅的方式来声明这些?

我最终解决此问题的方法是更改​​类定义。 我没有更改每个地址组件的类属性,而是简单地更改了类定义以将地址存储为关联数组。 这样感觉更干净。

因此,以上代码成为

$this->shipping_address = $this->get_address($this->dealer_num);
$this->billing_address = $this->get_address($this->bill_to_num);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM