2012-12-03 40 views
0

我的代碼開始:加入兩個數組一起

$checkIpaddresses = $wpdb->get_results($wpdb->prepare("SELECT affiliateID, source FROM am_ipaddress WHERE affiliateID = $affiliateID")); 

foreach ($checkIpaddresses as $ipaddress) { 
    $ipSource = explode(",", $ipaddress->source); 
} 

$newIP = ",".$ipAddress; 
array_push($newIP, $ipSource); 

print_r($ipSource); 

我有一個數據庫與,(逗號)分隔的IP地址列表的列。我希望能夠從數據庫中獲取該列表,添加新的IP地址並使用新的IP地址列更新列。

上面的代碼給出了這個錯誤。 array_push() expects parameter 1 to be array

$ipAddress的值是$_SERVER['REMOTE_ADDR'];

+0

'$ newIP'是一個字符串。 –

+1

'array_push()期望參數1是數組'讀取錯誤消息。 –

+0

您正在替換每行的'$ ipSource'。 –

回答

1

首先,如果這隻返回一行,則不需要foreach

$ipSource = explode(",", $checkIpaddresses[0]->source); // Get the 1st row as an array 

其次,你是過分複雜的添加新的IP地址到陣列。

$ipSource[] = $ipAddress; 

就是這樣。現在,$ipSource陣列包含新的IP地址。

(P.S.使用implode(',', $ipSource)把陣列到逗號分隔的字符串)