2
這可能是一個有點棘手。首先這裏是我的功能:創建動態PHP陣列
public function transfer_smf_userinfo($username)
{
$sys_columns = implode(', ', $this->_config['bbauth']['columns']['sys']);
$smf_columns = implode(', ', $this->_config['bbauth']['columns']['smf']);
$question_marks;
for($i = 0; $i > sizeof($this->_config['bbauth']['columns']['sys']); $i++)
{
if(sizeof($this->_config['bbauth']['columns']['sys']) == $i - 1)
{
$question_marks .'?';
}
else {
$question_marks .'?, ';
}
}
$user = $this->smf_db->query('SELECT '. $smf_columns .' FROM `smf_members` WHERE member_name = ? LIMIT 1', array($username));
if($user->num_rows > 0)
{
$user = $user->row_array();
$user['register_date'] = date('Y-m-d H:i:s', $user['register_date']);
$user['last_login'] = date('Y-m-d H:i:s', $user['last_login']);
$transfer_user = $this->sys_db->query('INSERT INTO `members` ('. $sys_columns .') VALUES ('. $question_marks .')', array());
if($transfer_user)
{
return true;
}
else {
return false;
}
}
else {
return false;
}
}
$ sys_columns輸出:
ID,用戶名,密碼,電子郵件,網址,頭像,B_DATE,r_date,l_date
$ smf_columns輸出:
id_member,MEMBER_NAME,passwd文件,EMAIL_ADDRESS,WEBSITE_URL,頭像,生日,date_registered,LAST_LOGIN
我需要在$ transfer_user查詢行末尾的陣列有一個數組,像這樣。
array($user['column'], $user['another']);
但我需要與各行從$ smf_columns動態地做到這一點。
我可以重寫和優化它的一半是當前的大小**聳聳肩**這是一個問題或請求?你到底在問什麼? – Khez 2011-04-17 04:50:57
我知道它現在不是最好的,我通常編碼它,然後重新編碼它,一旦它以更好的方式工作。只是我的做法。但我不知道如何做這部分。我只需要能夠做到像** $ transfer_user內的foreach **陣列與** $ smf_columns每列** – CodyRob 2011-04-17 04:55:57
東西有點像' $ transfer_user = $這個 - > sys_db->查詢(「INSERT INTO'members'(」。$ sys_columns。 ')VALUES('。$ question_marks。 ')',陣列( \t的foreach($ smf_columns爲$列) \t { \t \t $用戶[$柱]。 \t } ));' – CodyRob 2011-04-17 04:57:41