php - 使用 PHP 将 SQL 查询行添加到新数组

标签 php mysql arrays for-loop

我正在数据库上执行 SQL 查询,该查询返回所有数据。

SQL代码

 $sql_query3 = $DFS->prepare( "

        select
              *
        from
              TABLE_NAME
        where

              WHAT_I_WANT = '".$variable."'

    " );

    $sql_query3->execute();

    $result3 = $sql_query3->fetchall();

    print_r($result3);

print_r($result3)的结果

Array
(
    [0] => Array
        (
            [REFERENCE] => GBBRF707321224
            [WEIGHT] => 199.00
            [VOLUME] => 0.398
        )
)

Array
(
    [0] => Array
        (
            [REFERENCE] => GBBRF707321222
            [WEIGHT] => 620.00
            [VOLUME] => 1.240
        )
)

Array
(
    [0] => Array
        (
            [REFERENCE] => GBBRF707321220
            [WEIGHT] => 2465.00
            [VOLUME] =>4.930
        )
)

print_r($new_array) 的结果

Array
(
    [0] => GBBRF707321224
    [1] => 199.00
    [2] => 0.398
)
Array
(
    [0] => GBBRF707321222
    [1] => 620.00
    [2] => 1.240
)
Array
(
    [0] => GBBRF707321220
    [1] => 2465.00
    [2] => 4.930
)

然后我循环遍历 $result3 并从中选择我想要的值。在获得所需的所有信息后,我想将它们添加到一个新数组中。然而,当我尝试这样做时,它会将所有内容添加到一个长数组中。

然后我尝试了$new_array = array();,然后$new_array[] = $row3['One']。这是可行的,但每次循环时都会创建单独的数组。

我希望能够保留正在打印的数组,但 $result3 数组的格式如何。

这就是我现在正在做的事情

 $new_array = array();

        foreach( $result3 as $row3 ) {



            $new_array[]   = $row3[   'REFERENCE'              ];
            $new_array[]   = $row3[   'WEIGHT'                 ];
            $new_array[]   = $row3[   'VOLUME'                 ];



    }

$new_array 有 2 个问题。

第一个问题是行被添加到 $new_array 中,并以键作为索引。我希望能够插入一个字符串作为键。

第二件事是,我希望数组看起来像 $result3 数组。

像这样

 Array
    (
        [0] => Array
            (

            )
     )

任何提示或想法将不胜感激。

最佳答案

因为你总是为new_array创建新索引。试试这个:

$new_array = array();

foreach( $result3 as $row3 ) {

  $tmp_array = array();

  $tmp_array[]   = $row3[   'REFERENCE'              ];
  $tmp_array[]   = $row3[   'WEIGHT'                 ];
  $tmp_array[]   = $row3[   'VOLUME'                 ];
  $new_array[]   = $tmp_array;



}

关于php - 使用 PHP 将 SQL 查询行添加到新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345799/

相关文章:

php - PDO查询返回0

php - 需要替代解决方案,而不是从触发器调用 PHP 代码

mysql - 没有最小的 MySQL INT 值

php - 将变量从表单传递到函数

arrays - 如何遍历列并计算平均值?

java - 将数组的所有元素向左旋转 "k"位置,但我的代码将其向右移动

php - 如何为 json 格式化 Mysql/php 数组?

php - 自动完成搜索查询mysql

php - Jquery 无法附加到以 HTML 作为内容的有序列表

mysql - MySQL 表行中的时间和日期戳