OOP的新手,所以我想弄清楚最佳实践。此代码基于我添加的现有脚本。
大多数有这个问题的主题都告诉海报代码:
function ($arg1, $arg2){
//some code
}
并致电:
function($a1, $a2);
我有一个基于OOP的功能(有效),但它看起来并不正确,当我尝试将其称为建议的方法时,我得到:
数组到字符串转换....在线..数组
这是我收集输出的(工作)函数:
public function getMail($type, $id = 0) {
$query = $this->db->query("SELECT * FROM km_mail WHERE id = '" . (int)$id . "' AND `type` = '" . $this->db->escape($type) . "'");
foreach ($query->rows as $result) {
$mail_data[$result['title']] = $result['value'];
}
return $mail_data;
}
这是工作(但很难看)的部分 - 这会返回请求的数据库列(但看起来不对?):
$this->model_setting_mail->getMail('order')['update_link'];
当我尝试像这样请求列时,会发生数组到字符串转换错误:
$this->model_setting_mail->getMail('order','update_link');
在我的示例中,订单 = $ type, update_link = $ result [' value']并且$ id = 0是默认值,除非$ id已通过。
答案 0 :(得分:1)
您展示的第一个示例是从函数返回的值中选择数组元素的简便方法。
$this->model_setting_mail->getMail('order')['update_link'];
与:
相同$result = $this->model_setting_mail->getMail('order');
print $result['update_link'];
第二个例子是将两个值传递给函数。
他们完全不同。