我正在尝试将多个数组推入一个大数组,从而产生一个2 lvl数组。
我得到了这组数组,例如:
Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) Array ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 )
但是,在数组推送之后,我得到了这个数组:
Array ( [0] => Array ( [0] => ddd [1] => ffffffffffffffff [2] => ggggggg [3] => 3 ) [1] => Array ( [0] => fff [1] => dfgdfgdfgdfgdfg [2] => dfgdfgdfgdfgdfg [3] => 33 ) )
基本上这就是我想要做的事情,但是,如果你在推动后发现,钥匙会被遗忘,并转换为数字。
这就是我想要的样子:
Array ( [0] => Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) [1] => Array ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 ) )
示例代码我正在使用:
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
array_push($res_arr_values, array_values($row));
}
有人可以帮我吗?
答案 0 :(得分:43)
请勿在{{1}}
上使用array_values
$row
此外,向数组添加值的首选方法是编写$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
array_push($res_arr_values, $row);
}
,而不是使用$array[] = $value;
array_push
进一步优化不是要调用$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
,而是直接使用mysql_fetch_array($result, MYSQL_ASSOC)
。
mysql_fetch_assoc($result)
答案 1 :(得分:3)
我认为你必须去
$arrayname[indexname] = $value;
答案 2 :(得分:0)
使用此..
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
答案 3 :(得分:0)
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
array_push == $res_arr_values[] = $row;
example
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
?>
答案 4 :(得分:0)
首先将您的数组转换为JSON
while($query->fetch()){
$col[] = json_encode($row,JSON_UNESCAPED_UNICODE);
}
然后将其恢复为数组
foreach($col as &$array){
$array = json_decode($array,true);
}
祝你好运
答案 5 :(得分:0)
但是,所有这些答案在考虑时都是不错的。...
有时,最简单的方法如果没有复杂性,则会更快地完成技巧,并且没有特殊功能。
我们首先设置数组:
$arr1 = Array(
"cod" => ddd,
"denum" => ffffffffffffffff,
"descr" => ggggggg,
"cant" => 3
);
$arr2 = Array
(
"cod" => fff,
"denum" => dfgdfgdfgdfgdfg,
"descr" => dfgdfgdfgdfgdfg,
"cant" => 33
);
然后将它们添加到新数组中:
$newArr[] = $arr1;
$newArr[] = $arr2;
现在让我们看一下包含所有键的新数组:
print_r($newArr);
不需要sql或特殊函数来构建新的多维数组。...不要使用坦克到达可以行走的地方。