PHP-将数组推入数组-关键问题 [英] php - push array into array - key issue

查看:59
本文介绍了PHP-将数组推入数组-关键问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将多个阵列推入1个大阵列,从而形成2个lvl阵列.

i am trying to push multiple arrays into 1 big array, resulting in a 2 lvl array.

例如,我得到了这组数组:

I got this set of arrays for example:


Array
(
    [cod] => ddd
    [denum] => ffffffffffffffff
    [descr] => ggggggg
    [cant] => 3
)
Array
(
    [cod] => fff
    [denum] => dfgdfgdfgdfgdfg
    [descr] => dfgdfgdfgdfgdfg
    [cant] => 33
)

但是,在推入数组之后,我得到了这个数组:

But, after array push, i get this array:


Array
(
    [0] => Array
        (
            [0] => ddd
            [1] => ffffffffffffffff
            [2] => ggggggg
            [3] => 3
        )

    [1] => Array
        (
            [0] => fff
            [1] => dfgdfgdfgdfgdfg
            [2] => dfgdfgdfgdfgdfg
            [3] => 33
        )

)

基本上,这就是我要执行的操作,但是,如果您在按下按钮后注意到,则忘记了按键,并将其转换为数字.

Basically this is what i want to do, BUT, if you notice after the push, the keys are forgotten, and converted to numeric.

这就是我想要的样子:


Array
(
    [0] => Array
        (
            [cod] => ddd
            [denum] => ffffffffffffffff
            [descr] => ggggggg
            [cant] => 3
        )

    [1] => Array
        (
            [cod] => fff
            [denum] => dfgdfgdfgdfgdfg
            [descr] => dfgdfgdfgdfgdfg
            [cant] => 33
        )

)

示例代码即时通讯使用:

sample code im using:

$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
   {
       array_push($res_arr_values, array_values($row));
   }

有人可以帮我吗?

推荐答案

请勿在$row

$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
   {
       array_push($res_arr_values, $row);
   }

此外,向数组添加值的首选方法是编写$array[] = $value;,而不使用array_push

Also, the preferred way to add a value to an array is writing $array[] = $value;, not using 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).

And a further optimization is not to call mysql_fetch_array($result, MYSQL_ASSOC) but to use mysql_fetch_assoc($result) directly.

$res_arr_values = array();
while ($row = mysql_fetch_assoc($result))
   {
       $res_arr_values[] = $row;
   }

这篇关于PHP-将数组推入数组-关键问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆