【问题标题】:Run PHP function in While Loop在 While 循环中运行 PHP 函数
【发布时间】:2015-08-06 07:23:30
【问题描述】:

我想在 While 循环中运行一个函数。 不幸的是,它可以正常工作,但并没有达到预期。

我的目标是从 CSV 文件中读出每一行并存储在 MySQL 数据库中。这也完美无缺。

不过,另外,我想让 miteinpflegen 通过数字随机生成一个值。

这里又是我生成数字代码的脚本。

function generateCode($length){
$string = "";
$numbers = "0123456789";
    for($i=0;$i < $length;$i++) {
        $char = $numbers[mt_rand(0, strlen($numbers)-1)];
        $string .= $char;
    }
return $string;
}
$gencode = generateCode(8);

效果很好。

这里是我的 while 循环(在我的情况下,$handle 是打开 CSV 文件的 var)

while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) {
    $import = "INSERT into jobs(id,link_id,random number) values('NULL','$linkid','$gencode')";
    mysql_query($import) or die(mysql_error());
}

但是,既然 CSV 文件的每一行都有自己的随机数,或者更确切地说,这是在每一行 $gencode new 中计算的,我该如何取回它? 目前我为所有行获得一个随机数。

寻求帮助,我非常感激。 只见树木不见森林。

谢谢

【问题讨论】:

  • 既然 CSV 文件的每一行都有自己的随机数,我该如何取回它 在循环内移动 $gencode = generateCode(8);
  • 你好。我已经解决了自己的问题。和我想的一样。我太长了,然后忽略了一些东西。不应仅在 While 循环中打包整个函数“$gencode = generateCode (8);”因此,整个 while 循环应该是这样的。 while (($data = fgetcsv ($ handle, 10000, ";")) == FALSE) { $gencode = generateCode (8); $ import = "插入作业 (id, link_id, randomnumber) 值 ('NULL', '$ linkid', '$gencode')"; mysql_query($import) 或死(mysql_error()); }
  • @SkysTheLimit_81 - 如果下面的答案之一对您有所帮助,请选择它作为您问题的答案,否则如果您自己找到解决方案,您可以将其作为答案发布并稍后接受。

标签: php function loops while-loop


【解决方案1】:

您可以像循环中的任何其他函数一样简单地调用自己的函数generateCode()

while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) {
    $gencode = generateCode(8);

    // the rest of your code

}

只要确保generateCode() 在您调用它时已经定义。

【讨论】:

    猜你喜欢
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多