从 value[0] 开始缩短数组并更新键并删除未使用的数据
Short array and update key as of value[0] and remove unused data
到目前为止,这是我的数组,我正在使用此 php 函数分解 [category_name]
$query = $this->db->get('payment');
$result = $query->result();
// echo '<pre>';print_r($result);
foreach ($result as $key => $category) {
$category_sale_data = explode(',', $category->category_name);
foreach ($category_sale_data as $key => $value) {
$category->sale_data[] = explode('*', $value);
}
$newresults[]=$category;
}
$result=$newresults;
echo '<pre>';print_r($result);
die();
这是输出:
Array
(
[0] => stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[0] => Array
(
[0] => 32459
[1] => 1500
[2] => lab
[3] => 1
)
[1] => Array
(
[0] => 32460
[1] => 400
[2] => lab
[3] => 1
)
[2] => Array
(
[0] => 32461
[1] => 600
[2] => lab
[3] => 1
)
)
)
)
我想要这样的输出
Array
(
[0] => stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[32459] => Array
(
[0] => 1500
)
[32460] => Array
(
[0] =>400
)
[32461] => Array
(
[0] => 600
)
)
)
)
我需要将记录更新为短数组,以便以后对我有用。我已经尽力了。
我是新手,正在学习 php 数组。
在sale_data
中添加数据之前需要提取键和值:
foreach ($category_sale_data as $key => $value) {
[$sale_key, $sale_value] = explode('*', $value);
$category->sale_data[$sale_key][] = $sale_value;
}
完整示例 - (livedemo)
// Sample data
$category = (object) ['category_name' => '32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1'];
// process
$category_sale_data = explode(',', $category->category_name);
foreach ($category_sale_data as $key => $value) {
[$sale_key, $sale_value] = explode('*', $value);
$category->sale_data[$sale_key][] = $sale_value;
}
// display
print_r($category);
输出:
stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[32459] => Array
(
[0] => 1500
)
[32460] => Array
(
[0] => 400
)
[32461] => Array
(
[0] => 600
)
)
)
到目前为止,这是我的数组,我正在使用此 php 函数分解 [category_name]
$query = $this->db->get('payment');
$result = $query->result();
// echo '<pre>';print_r($result);
foreach ($result as $key => $category) {
$category_sale_data = explode(',', $category->category_name);
foreach ($category_sale_data as $key => $value) {
$category->sale_data[] = explode('*', $value);
}
$newresults[]=$category;
}
$result=$newresults;
echo '<pre>';print_r($result);
die();
这是输出:
Array
(
[0] => stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[0] => Array
(
[0] => 32459
[1] => 1500
[2] => lab
[3] => 1
)
[1] => Array
(
[0] => 32460
[1] => 400
[2] => lab
[3] => 1
)
[2] => Array
(
[0] => 32461
[1] => 600
[2] => lab
[3] => 1
)
)
)
)
我想要这样的输出
Array
(
[0] => stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[32459] => Array
(
[0] => 1500
)
[32460] => Array
(
[0] =>400
)
[32461] => Array
(
[0] => 600
)
)
)
)
我需要将记录更新为短数组,以便以后对我有用。我已经尽力了。 我是新手,正在学习 php 数组。
在sale_data
中添加数据之前需要提取键和值:
foreach ($category_sale_data as $key => $value) {
[$sale_key, $sale_value] = explode('*', $value);
$category->sale_data[$sale_key][] = $sale_value;
}
完整示例 - (livedemo)
// Sample data
$category = (object) ['category_name' => '32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1'];
// process
$category_sale_data = explode(',', $category->category_name);
foreach ($category_sale_data as $key => $value) {
[$sale_key, $sale_value] = explode('*', $value);
$category->sale_data[$sale_key][] = $sale_value;
}
// display
print_r($category);
输出:
stdClass Object
(
[category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
[sale_data] => Array
(
[32459] => Array
(
[0] => 1500
)
[32460] => Array
(
[0] => 400
)
[32461] => Array
(
[0] => 600
)
)
)