gpt4 book ai didi

php - 内爆 2 个独立的阵列?

转载 作者:行者123 更新时间:2023-11-29 05:42:07 29 4
gpt4 key购买 nike

我有一个带有查询的脚本,该查询使用连接从两个单独的表中的数据库收集信息。现在我想将这 2 个数组及其值并排插入到一个新表中。

$query = "INSERT INTO `new_table` 
(column_a, column_b)
VALUES
(implode(something,$array_a), implode(something,$array_b))"

显然语法不对,但我想知道这是否可能,或者我是否走错了路。我尝试了几个查询,但无法让它们排队等待插入 - 它一次将它们分解。

最佳答案

如您所料,这个问题的答案完全取决于您要实现的目标。

我将假设您的两个数组如下(出于演示目的):

$arrayA = array(
'Alpha' ,
'Bravo' ,
'Charlie'
);
$arrayB = array(
'Zulu' ,
'Yankee' ,
'Xray'
);

现在,如果您想将这些值放入一个表(为便于引用而称为 the_table),以便它们像这样创建一行

column_a              | column_b
"Alpha,Bravo,Charlie" | "Zulu,Yankee,Xray"

那么你想要生成的 SQL 是

INSERT INTO `the_table` ( `column_a` , `column_b` )
VALUES ( "Alpha,Bravo,Charlie" , "Zulu,Yankee,Xray" )

生成该 SQL 的 PHP 可能是

$sqlTpl = 'INSERT INTO `the_table` ( `column_a` , `column_b` )
VALUES ( "%s" , "%s" )';
$sqlStr = sprintf( $sqlTpl ,
implode( ',' , $arrayA ) ,
implode( ',' , $arrayB ) );

现在,如果您想要生成一组匹配行,两个数组中的每一个都有一对,就像这样

column_a  | column_b
"Alpha" | "Zulu"
"Bravo" | "Yankee"
"Charlie" | "Xray"

SQL 是

INSERT INTO `the_table` ( `column_a` , `column_b` )
VALUES ( "Alpha" , "Zulu" ) ,
( "Bravo" , "Yankee" ) ,
( "Charlie" , "Xray" )

生成的 PHP 可能是

$sqlTpl = 'INSERT INTO `the_table` ( `column_a` , `column_b` )
VALUES ( %s )';
$sqlArr = array();
foreach( $arrayA as $k => $v )
$sqlArr[] = '"'.$arrayA[$k].'" , "'.$arrayB[$k].'"';
$sqlStr = sprintf( $sqlTpl ,
implode( ' ) , ( ' , $sqlArr ) );

关于php - 内爆 2 个独立的阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918088/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com