代码之家  ›  专栏  ›  技术社区  ›  CLiown

建议,处理逗号

php
  •  0
  • CLiown  · 技术社区  · 15 年前

    我有一个脚本,允许用户创建一个简单的投票,每个投票的ID都存储在一个文本文件中,用逗号分隔:如:

    001,003,005,
    

    然后,我使用foreach循环从文本文件中获取这些投票ID。

    所有相对简单,但是我在文件中创建文本行的方式总是用逗号 (,) 在每个ID的末尾。这会为PHP引发以下错误:

    Warning: Invalid argument supplied for foreach() in
    

    如何确保ID列表从不以逗号结尾,或者忽略它?这样地:

    001,003,005
    

    这是我当前添加ID的方式:ID是时间加上'tpid':

        if ($handle2) {
            fwrite($handle2, "tpid".time().",");
            fclose($handle2);
        }
    

    所以在这里我添加了逗号fwrite($handle2,“tpid”.time(),);

    我从文本文件中得到的ID如下:

    $pollids  = "pollids.txt";
    $contents = file_get_contents($pollids);
    $pollfields = explode(',', $contents);
    
    3 回复  |  直到 15 年前
        1
  •  6
  •   Adam Hopkinson    15 年前

    用第3行(下面)修剪开始/结束逗号

    $pollids  = "pollids.txt";
    $contents = file_get_contents($pollids);
    $contents = trim($contents, ',');
    $pollfields = explode(',', $contents);
    
        2
  •  1
  •   Daniel A. White    15 年前
    • 为什么不预先挂起呢?
    • 为什么不呢? implode 在保存到文件之前?
    • 为什么不检查 null 在进行处理之前?
        3
  •  1
  •   Jan Hančič    15 年前

    这样做:

    如果是一个新文件,只写你的“ID”

    如果它是现有文件,请按如下方式编写您的ID: ',tpid' . time ()

    这样文件末尾就不会有逗号了