【问题标题】:variable variables in parameter参数中的可变变量
【发布时间】:2016-03-21 10:51:58
【问题描述】:

我想从数据库中绑定可变数量的结果。

$randomAmount = rand(0, 10);

for ($i = 1; $i <= $randomAmount; $i++) {
    mysqli_stmt_bind_result($databaseGet, ${'op'. $i});
}

它会随机运行mysqli_stmt_bind_result() 函数。我想要实现的是 $randomAmount 作为参数中的变量。

所以,如果 $randomAmount = 4,代码应该做一些事情来实现这一点:

mysqli_stmt_bind_result($databaseGet, $op1, $op2, $op3, $op4;

【问题讨论】:

  • 根据documentation,mysqli_stmt_bind_result 将变量绑定到列,因此不清楚它如何成为可变数量的列。
  • 我想重用这个功能。具有列数量的查询作为变量出现。像这样: $query = "select k1, k2, k3, k4 FROM table" $randomAmount = 4;

标签: php variables random


【解决方案1】:

您可以使用call_user_func_array function,如下:

$vars = [$databaseGet]
for ($i = 1; $i < 6; $i++) {
    $vars[] = &${'op' . $i};
}

call-user-func-array('mysqli_stmt_bind_result', $vars);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2017-09-13
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多