我正在数据库上执行 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/