php简单数组操作,注意array_values()是重构数组

 

<?php
// 创建一个简单的数组
$array = array(1, 2, 3, 4, 5);
print_r($array);

// 现在删除其中的所有单元,但保持数组本身的结构
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)
$array[] = 6;
print_r($array);

// 重新索引:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

 

上例将输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)
<?PHP
$a
= array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset(
$a[2] );
/* 将产生一个数组,定义为
   $a = array( 1=>'one', 3=>'three');
   而不是
   $a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>

 

public function fetchPackagesListById() { $baseSelectQuery = "SELECT m.session_id, m.session_name, m.session_alias, m.session_tables, m.date, s.id AS dish_session_id, s.dish_id, d.dish_name, s.quantity FROM rb_orders o JOIN rb_date_meal_sessions m ON o.id = m.order_id JOIN rb_session_dishes s ON m.date_id = s.date_id JOIN dish_library d ON s.dish_id = d.dish_id WHERE o.id ={$this->data['data']['id']}"; $executor = new DatabaseExecutor($this->db); $result = $executor->executeQuery($baseSelectQuery); $list = ResultProcessor::processQueryResult($result); $groupedData = []; foreach ($list as $item) { $date = $item['date']; $sessionId = $item['session_id']; $sessionName = $item['session_name']; if (!isset($groupedData[$date])) { $groupedData[$date] = [ 'date' => $date, 'mealSessions' => [] ]; } if (!isset($groupedData[$date]['mealSessions'][$sessionName])) { $groupedData[$date]['mealSessions'][$sessionName] = [ 'sessionId' => $sessionId, 'sessionName' => $item['session_name'], 'sessionAlias' => $item['session_alias'], 'sessionTables' => $item['session_tables'], 'dishes' => [] ]; } $dish = [ 'id' => $item['dish_session_id'], 'dish_id' => $item['dish_id'], 'dish_name' => $item['dish_name'], 'quantity' => $item['quantity'] ]; $groupedData[$date]['mealSessions'][$sessionName]['dishes'][] = $dish; } // 将关联数组转换为索引数组 $finalResult = array_map(function ($dateGroup) { $dateGroup['mealSessions'] = array_values($dateGroup['mealSessions']); return $dateGroup; }, $groupedData); $response = ResponseBuilder::buildResponsenopaging(array_values($finalResult)); return $response; }这是远程获取的时段菜单数据,结合菜品关联的原材料,根据桌数计算菜品原材料并且根据date时段输出使用php和sql
最新发布
09-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值