我有一个像这样的循环(只是一个样本,缺少许多变量):
foreach($inserts as $insert) {
$insert_update = 'INSERT INTO etc.. SET etc..'; // returns the last inserted ID
$insertedIDs[] = array($tables[$tbl]['owner'] => $insert_update);
}
现在您看到$insertedIDs[]
正在数组中获取所有新插入的ID。
问题是在下一个$inserts
循环中,我需要$insertedIDs[]
可用于循环的其他变量,这将需要获取最后插入的ID。
问题是在下一个循环中,此变量无法识别,并返回错误。
如何在第一次循环后的每个下一个循环中使$insertedIDs[]
可用?
我尝试在$insertedIDs[]
之后宣布foreach
为全球,但没有运气。
感谢您的任何建议
答案 0 :(得分:0)
试试这可能会对你有所帮助:
$insertedIDs=Array();
foreach($inserts as $insert) {
$insert_update = 'INSERT INTO etc.. SET etc..'; // returns the last inserted ID
$insertedIDs[] = array($tables[$tbl]['owner'] => $insert_update);
}
现在您可以访问$ insertedIDs
答案 1 :(得分:0)
$insertedIDs = array();
foreach($inserts as $insert) {
$insert_update = 'INSERT INTO etc.. SET etc..'; // returns the last inserted ID
$insertedIDs[ $tables[$tbl]['owner'] ] = $insert_update;
}
print_r($insertedIDs);
答案 2 :(得分:0)
实际上很容易......尽量不要过度思考它。
//create an empty array
var $insertedIds = array();
//now loop and add to the array
foreach( $inserts as $insert )
{
$insert_update = 'INSERT INTO etc.. SET etc..'; // returns the last inserted ID
$insertedIds[][$tables[$tbl]['owner']] = $insert_update;
//or if you want the owners to be keys in the first level of the array...
//$insertedIds[$tables[$tbl]['owner']] = $insert_update;
}
//output the contents of the array
echo '<pre>' . print_r($insertedIds, true) . '</pre>';