所以我想使用call_user_func
将数据传递给函数的可选参数。
这是代码示例,可选参数表示在另一个文件中声明$data
的函数调用。data
我只是希望通过使用call_user_func
它将使用函数名称设置参数并在 createtable 函数中调用它来调用它,但似乎不起作用。
我从 PHP 手册中获得了示例,但createTable
包含许多参数。如何call_user_func
仅将字符串分配给默认设置data
的可选参数?$data
NULL
function createTable($database, $table, $patch,$data = NULL)
{
echo "INFO: Adding '$table'in database '$database'.\n";
$sql = "SHOW TABLES FROM $database WHERE Tables_in_$database='$table';";
$result = mysql_query($sql);
$result_count = mysql_num_rows($result);
if ( $result_count != 1 ) {
echo "ERROR: Can not find table '$table' in database '$database'.\n";
$result = mysql_query($patch);
if ( false === $result ) {
echo "ERROR: Adding Table '$table' in database '$database' ... Failed\n";
return false;
}
else {
echo "INFO: Adding Table '$table'in database '$database' ... Success\n";
// using the optional parameter here
$data();
return true;
}
} else {
if ( $result_count == 1 ) {
echo "ERROR: Table '$table'already in database '$database'.\n";
return false;
}
}
}
// Now I'm passing value to the optional parameter $ data that is NULL as default.
call_user_func('createTable', "data");