php-将数组推入数组-关键问题
我试图将多个阵列推进到一个大阵列中,从而得到一个2级阵列 我得到了这组数组,例如: Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) Array ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 ) 有人能帮我吗?用这个php-将数组推入数组-关键问题,php,arrays,key,push,Php,Arrays,Key,Push,我试图将多个阵列推进到一个大阵列中,从而得到一个2级阵列 我得到了这组数组,例如: Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) Array ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 ) 有人能帮
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
不要在
$行上使用数组\u值
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
array_push($res_arr_values, $row);
}
此外,向数组添加值的首选方法是写入$array[]=$value代码>,不使用array\u push
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
进一步的优化不是调用mysql\u-fetch\u数组($result,mysql\u-ASSOC)
,而是直接使用mysql\u-fetch\u-ASSOC($result)
$res_arr_values = array();
while ($row = mysql_fetch_assoc($result))
{
$res_arr_values[] = $row;
}
我想你得去参加一个聚会
$arrayname[indexname] = $value;
$res_arr_values=array();
而($row=mysql\u fetch\u array($result,mysql\u ASSOC))
{
$res_arr_values[]=$row;
}
数组推送==$res\u arr\u值[]=$row;
例子
首先将数组转换为JSON
while($query->fetch()){
$col[] = json_encode($row,JSON_UNESCAPED_UNICODE);
}
然后将其返回到数组
foreach($col as &$array){
$array = json_decode($array,true);
}
祝你好运但是当你想到这些时,所有这些答案都很好……
有时,最简单但不复杂的方法可以更快地完成任务,并且没有特殊功能
我们首先设置阵列:
$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或特殊函数。。。。不要使用坦克到达你可以行走的地方。array\u push
这个语法是相同的。array\u push()
会保留关键点array\u values()
不会。我没有使用array\u push。我已经从答案中删除了数组_值。问题不是你的例子,而是你的解释。这是错误的。在回答之前做你的研究。你会考虑添加一些叙述来解释为什么这个代码会起作用,是什么使它成为问题的答案?这对提出问题的人和其他任何人都非常有帮助。@user1248047不想学习array_push函数,他/她只是想知道如何防止替换键值。在这之前一年写了多个答案,说明了这项技术。我看不出这个答案有任何价值。如果我错了,请解释一下这个答案的新内容。“向数组添加值的首选方法是写入$array[]=$value;”这是深刻的,谢谢,提醒自己这一点有助于保持程序的简单性,为其他读者提供一个简单的答案。(请注意,这与公认答案所显示的技巧相同。这看起来更复杂,因为它是在问题的上下文中回答的。公认答案中的关键行是:$res\u arr\u values[]=$row;
,与此答案的$newArr[]=$arr1;
完全相同)。我同意每一个字转换为json有什么好处?答:没有。对不起,这个答案对这个问答没有帮助。
foreach($col as &$array){
$array = json_decode($array,true);
}
$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);