到目前為止,這是我的陣列,我正在使用這個 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 陣列。
uj5u.com熱心網友回復:
您需要在添加資料之前提取鍵和值sale_data:
foreach ($category_sale_data as $key => $value) {
[$sale_key, $sale_value] = explode('*', $value);
$category->sale_data[$sale_key][] = $sale_value;
}
完整示例 - ( liveemo )
// 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
)
)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/419135.html
標籤:
上一篇:有沒有辦法僅使用NumPy來查找2D陣列中最后n和前n元素的總和?
下一篇:為什么這個解決方案是錯誤的?
