call_user_func
そこで、を使用して、関数のオプションのパラメーターにデータを渡したいと思います。
これがコードの例です。オプションのパラメーターは、別のファイルで宣言された$data
と呼ばれる関数を表します。data
関数の名前でパラメーターを設定し、createtable関数内で呼び出すを使用call_user_func
して呼び出すだけですが、機能しないようです。
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");