0
我有以下代码:PHP的范围问题(引用另一个函数的内部函数)
function process_bulk_action() {
if (isset($_GET['locations'])) {
$location_ids = (is_array($_GET['locations'])) ? $_GET['locations'] : array($_GET['locations']);
global $wpdb;
switch ($this->current_action()) {
case 'edit':
bulk_edit($location_ids);
break;
case 'delete':
bulk_delete($locations_ids);
break;
default:break;
}
}
}
function bulk_delete($ids) {
foreach ($ids as $id) {
$id = absint($id);
$sql = "DELETE FROM wp_nc_location WHERE location_id = $id";
$delete = $wpdb->query($sql);
}
}
function bulk_edit($ids) {
foreach ($ids as $id) {
$id = absint($id);
$sql = "SELECT name FROM wp_nc_location WHERE location_id = $id";
$select = $wpdb->query($sql);
echo 'select: '. $select. ',';
print_r($select);
}
}
当我尝试从switch语句调用其中bulk_edit或bulk_delete但是我收到以下错误消息以上:
Fatal error: Call to undefined function bulk_delete
我知道我得到一些错误的范围,但我不知道放在哪里职能bulk_edit或bulk_delete ...
你是否在这个类中? –
@Matt它是从另一个函数中调用的,所以在调用之前都定义了,除非有代码或包含我们没有看到 –
这是你所有的代码吗?您可能在某处存在缺失或附加支架。 @Matt - 函数可以在文件中对它们的实际引用下定义。该代码在执行前编译 – Cfreak