在TP5.1中,chunk
是一个用于执行SQL语句的函数,它允许你在一个事务中执行多个SQL语句。如果你想在 chunk
里面改变一个变量的值,并在 chunk
外面获取这个改变后的值,你可以使用以下的方法:
- 定义变量:首先,在
chunk
外部定义一个变量。 - 在
chunk
中改变变量的值:在chunk
内部,你可以修改这个变量的值。 - 获取变量的值:在
chunk
外部,你可以获取这个变量的新值<?php namespace app\index\controller; use think\Db; class Index { public function index() { // 定义变量 $variable = 0; // chunk中的操作 Db::name('table_name')->chunk(function ($list) use (&$variable) { foreach ($list as $item) { // 假设每个item都有一个id字段,我们用它来改变变量的值 if ($item['id'] % 2 == 0) { $variable += 1; } } }, 500); // 这里的500是每次处理的数量,可以根据实际情况调整 // chunk外部获取变量的值 dump($variable); // 输出变量的值,你可以根据需要处理这个值 } }