基于数组索引将一个数组插入到两个表中


Inserting one array into 2 tables based off of array index

我有一个数组,它有10多个索引。

我想做的是根据索引设置变量$table,这样它就会插入

Array[0] - Array[9] to $table = table1

它会插入

Array[10] - Array[14] to $table = table2

我不想使用if语句,因为我需要它们都插入

我希望将这一切放在一个查询中,并使用$table(如果可能的话)

我怎样才能做到这一点?

$table = array();
foreach($array as $key => $value)
  if ($key <= 9)
    $table['table1'][$key] = $value;
  else
    $table['table2'][$key] = $value;

这将使其保持为一个数组。我想这正是你想要的。

我不擅长SQL查询,所以如果每个键都是表中的一列,那么下面的语句只是伪的:

foreach($table as $key => $value){
    if($key == 'table1'){
        foreach($value as $key => $value){
            //INSERT INTO table1 ($key) VALUES ($value) 
        {
    if($key == 'table2'){
        foreach($value as $key => $value){
            //INSERT INTO table2 ($key) VALUES ($value) 
        {
}

因此您创建了2个数组并使用它们:

$table1 = array() ;  //Save data into arrays so you can put it in a database (?)
$table2 = array() ;
foreach(array_values($array) as $key => $value){
  if ($key <= 9)
    $table1[] = $value ;
  else
    $table2[] = $value ;
}

基本上将数组拆分为子数组,对吧?如果是,则查看array_chunk()

http://php.net/manual/en/function.array-chunk.php