我正在对数据库执行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有两个问题。
第一个问题是将行添加到$ new_array,并将键作为索引。我希望能够插入一个字符串作为密钥。
第二件事是,我希望数组看起来像$ result3数组。
喜欢这个
Array
(
[0] => Array
(
)
)
任何提示或想法都将不胜感激。
答案 0 :(得分:2)
因为您总是为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;
}