Php 发出拆分阵列以在另一个阵列中使用的问题

Php 发出拆分阵列以在另一个阵列中使用的问题,php,mysql,variables,for-loop,Php,Mysql,Variables,For Loop,我有一些数据,我现在已经硬编码了,基本上我正在尝试分割数字,1端口,并将其重新创建为 'INSERT INTO '.$tbl_name.'(PortNumber) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(145),(146),(147),(148),(149),(150),(151),(152),(153),(154),(155),(156)'; 等等。。我想我有一个很好的开始 PHP //post变量 $port=

我有一些数据,我现在已经硬编码了,基本上我正在尝试分割数字,1端口,并将其重新创建为

'INSERT INTO '.$tbl_name.'(PortNumber) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(145),(146),(147),(148),(149),(150),(151),(152),(153),(154),(155),(156)';
等等。。我想我有一个很好的开始

PHP

//post变量
$port=24//(国际)邮政(港口)元;;
$super=2//(国际)$_POST["超级"];;
$col=12//(国际)$_POST["栏目"];;
$row=2//(国际)$_POST["行];;
//其余的VAR
$halfPort=$port/2//12
$colHalf=$col/$super//6.
$half=$colHalf-1//5.
$count=1;
$and=1;
$1=1;
回声“这里什么都没有了”

; //加速端口 $finalArray=array(); 对于($i=$port;$i>=1;$i-=$colHalf){ $tempArray=array(); 对于($j=0;$j<$colHalf;$j++){ $tempArray[]=$i-$j; } $tempArray[]=排序($tempArray); $finalArray[]=内爆(“,”,$tempArray); } $finalArray=数组\反向($finalArray); “回声”。打印($finalArray,true)。""; 回声“

”; //用于插入的sql $sqlinsert='1!' 插入到“$tbl_name2”中 (端口号)值'; $start='('; $end=')'; //预设b $b=0; 对于($c=$port;$c>=1;$c-=$colHalf){ $queryStart=array(); $queryStart[]=爆炸(',',$finalArray[$b]); 回显““开始”。打印($queryStart,true)。”;
for($s=0;$s我想我看到了。每次for循环运行时,您都要重新初始化$queryEnd数组。请将其移出for循环。
Mike

我不太确定您想做什么,但如果您只想构建类似插入查询的内容,可以执行以下操作:


你可能想把你的问题说得更清楚一点,我不知道你在问什么。我想我多少能理解,如果我理解正确的话,这就行了。但是范围()到底是什么呢函数do?这些数字的确切来源是什么?如果您不确定所使用的函数,可以在PHP文档中查找上面的代码,但基本上有一个范围(1,12),它创建了一个包含1到12个元素的数组(145到156个元素相同),array_merge将这两个数组合并为一个数组,并内爆创建此数组中所有元素的字符串表示形式,并将它们与、(如1)、(2)、(3等)粘合在一起。
//post vars 
$port = 24; //(int)$_POST['ports'];
$super = 2; //(int)$_POST['super'];
$col = 12; //(int)$_POST['columns'];
$row = 2; //(int)$_POST['rows'];
//rest of vars
$halfPort=$port/2;//12
$colHalf = $col / $super;//6
$half=$colHalf-1;//5
$count=1;
$and=1;
$one=1;

echo "<h1>here goes nothen</h1><br><br>";
//sperate port
$finalArray = array();
for ($i = $port; $i >= 1; $i -= $colHalf) {
    $tempArray = array();
    for ($j = 0; $j < $colHalf; $j++) {
        $tempArray[] = $i - $j;
    }
    $tempArray[]= sort($tempArray);
    $finalArray[] = implode(",", $tempArray);
}
$finalArray = array_reverse($finalArray);
echo "<pre>" . print_r($finalArray, true) . "</pre>";

echo "<br><br>";
//sql for insert
$sqlinsert='
        INSERT INTO '.$tbl_name2.'
        (PortNumber) VALUES ';
 $start='(';
 $end=')';
//preset b
$b=0;
for($c = $port; $c >= 1; $c -= $colHalf) {
    $queryStart = array();
$queryStart[]=explode(',',$finalArray[$b]);
   echo "<pre>" ."start". print_r($queryStart, true) . "</pre>";
    for($s=0; $s<6; $s+=$and) {
        $queryEnd = array();
        $queryEnd[] = $start.$queryStart[$s].$end;
                echo "<pre>" ."end". print_r($queryEnd, true) . "</pre>";
    }
$b+=1;
}
$tbl_name = '?';
echo 'INSERT INTO '.$tbl_name.'(PortNumber) VALUES ('.implode('),(', array_merge(range(1,12),range(145,156))).')';