Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成嵌套数组codeigniter_Php_Arrays_Codeigniter_Multidimensional Array - Fatal编程技术网

Php 生成嵌套数组codeigniter

Php 生成嵌套数组codeigniter,php,arrays,codeigniter,multidimensional-array,Php,Arrays,Codeigniter,Multidimensional Array,对于我正在处理的图形,我试图生成一个嵌套数组。我正在查询数据库,试图以数组的形式从数据库中的某个列中获取所有数据,但我不太确定如何执行此操作。目前它为我提供了数据库中的最后一行 这是我的密码: function get_data() { $this->db->select('ItemName, QuantitySold'); $query = $this->db->get('transactions'); $results = array

对于我正在处理的图形,我试图生成一个嵌套数组。我正在查询数据库,试图以数组的形式从数据库中的某个列中获取所有数据,但我不太确定如何执行此操作。目前它为我提供了数据库中的最后一行

这是我的密码:

    function get_data()
{
    $this->db->select('ItemName, QuantitySold');
    $query = $this->db->get('transactions');

    $results = array();

    foreach ($query->result_array() as $row)
        {
           $row['QuantitySold'];
           $row['ItemName'];
        }

        $results = array(
            'name' => 'shirt',
            'data' => $row['QuantitySold']
            );
        $test = json_encode($results);
        echo $test;
        return $results;
}
它正在生成以下结果:

    {"name":"shirt","data":"9"}
我需要它看起来像这样:

    {'name':'shirt','data':array(1, 2, 3,...)}
数据库结构:

行:

以下是我要做的,请注意我是如何获取行并以与您当前不同的方式存储它们的:

function get_data()
{
    $this->db->select('ItemName, QuantitySold');
    $query = $this->db->get('transactions');

    $results = array();

    foreach ($query->result_array() as $row)
    {
        $results[$row['ItemName']][] = $row['QuantitySold'];
    }

    $test = json_encode($results);
    echo $test;
    return $results;
}
请注意,这并不是您想要的输出方式,但以这种方式处理可能更容易

输出示例:

{'shirt': [1, 2, 3], 'notshirt': [1, 2, 3]}
{{name: 'shirt', data: [1, 2, 3], {'name': 'notshirt', data: [1, 2, 3]}}
编辑(格式):

输出示例:

{'shirt': [1, 2, 3], 'notshirt': [1, 2, 3]}
{{name: 'shirt', data: [1, 2, 3], {'name': 'notshirt', data: [1, 2, 3]}}

你确定这就是你想要的输出吗?3和1应该来自哪里?您的数据库结构可能会帮助我们更好地理解。不管有多少,我需要的数据是一个数组。比如{'name':'shirt','data':array(1,2,3…}3 9和1只是一个例子,这更意味着应该从哪里来,而不是那些特定的值从哪里来。很抱歉给你带来了困惑。为了帮助我们更好地理解您的问题,您可以发布数据库列的外观和一行(或两行)示例吗?因为我正在使用它创建一个图形,所以我需要“name”:“shirt”和“data”:[1,2,3..]数组结构。不过我会看看我能用这个做些什么,谢谢!有些东西好像坏了,我没有得到任何输出。现在试试,错过了一个
。我肯定喜欢你的方法,但代码似乎不起作用。现在试试,我修复了一些语法错误,并启动了空的$result数组以方便你