PHP/Mysql使用现有数组中的值创建新数组,帮助?

PHP/Mysql使用现有数组中的值创建新数组,帮助?,php,mysql,arrays,Php,Mysql,Arrays,我目前有以下数组 Array (1) 0 => Array (5) productid => 1 qty => 1 materialid => 12 及 我需要链接这些查询,以便数组输出如下或类似: Array (1) 0 => Array (5) productid => 1 qty => 1 materialid => 12 productname => Toothbrush price => £3.00 阵列(1) 0=>数组(5) productid=>1

我目前有以下数组

Array (1) 0 => Array (5) productid => 1 qty => 1 materialid => 12 及

我需要链接这些查询,以便数组输出如下或类似:

Array (1) 0 => Array (5) productid => 1 qty => 1 materialid => 12 productname => Toothbrush price => £3.00 阵列(1) 0=>数组(5) productid=>1 数量=>1 物质=>12 productname=>牙刷 价格=>3.00英镑 这基本上是将内容输出到一个篮子页面上。请注意,由于两个表上没有任何联接,因此无法联接查询


谢谢

运行第一个查询,以键控数组的形式获取数据。运行第二个查询,并将数据作为键控数组获取。然后将两个数组合并:

$data1 = query_data($sql1);
$data2 = query_data($sql2);
$result = array($data1 + $data2);
将给您一个结果,即一个数组包含一个数组,该数组的所有值都来自
$data1
$data2
$data2
中的重复键不会覆盖
$data1
中的重复键。看


一个类似的函数是,它也会从两个数组中创建一个数组。

运行第一个查询,以键控数组的形式获取数据。运行第二个查询,并将数据作为键控数组获取。然后将两个数组合并:

$data1 = query_data($sql1);
$data2 = query_data($sql2);
$result = array($data1 + $data2);
将给您一个结果,即一个数组包含一个数组,该数组的所有值都来自
$data1
$data2
$data2
中的重复键不会覆盖
$data1
中的重复键。看


一个类似的函数是,它也会从两个数组中创建一个数组。

您从哪里获得数据来填充初始数组?它是否总是只有一个值(如果是这样,您可以在单个查询上使用笛卡尔连接,以避免对数据库进行两次访问)。为什么数据库中没有描述数据表之间的关系


将数组中的值作为文本或绑定参数拼接到查询中非常简单。这里的问题是什么?

您从哪里获得数据来填充初始数组?它是否总是只有一个值(如果是这样,您可以在单个查询上使用笛卡尔连接,以避免对数据库进行两次访问)。为什么数据库中没有描述数据表之间的关系


将数组中的值作为文本或绑定参数拼接到查询中非常简单。这里的问题是什么?

您也可以同时查询两个表:

select p.name as productname, m.name as materialname, p.price
    from products p, materials m
    where p.productid=1 and materialid=12

您还可以同时查询两个表:

select p.name as productname, m.name as materialname, p.price
    from products p, materials m
    where p.productid=1 and materialid=12

您可以单独运行查询:

$res1 = mysql_query(Qry1); 
$res2 = mysql_query(Qry2);

$data1 = mysql_fetch_array($res1);
$data2 = mysql_fetch_array($res2);

$res = array_merge_recursive($data1, $data2);

您可以单独运行查询:

$res1 = mysql_query(Qry1); 
$res2 = mysql_query(Qry2);

$data1 = mysql_fetch_array($res1);
$data2 = mysql_fetch_array($res2);

$res = array_merge_recursive($data1, $data2);

您可以这样做输出数组不包含第二个查询中的数据,只包含第一个查询中的productname和price。您可以这样做输出数组不包含第二个查询的数据,只包含第一个查询的productname和price。大家好,我要感谢所有y'al的回复,所有的解决方案都成功了。我决定采用大卫的解决方案。谢谢所有我想感谢你们所有人的回复,所有的解决方案都奏效了。我决定采用大卫的解决方案。谢谢