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数组以方便你