迭代下面的PHP代码的问题

时间:2014-06-02 19:09:06

标签: php html

您好我有以下PHP和HTML代码读取CSV文件并将4行CSV文件列为HTML中的链接。我想通过迭代使下面的代码成为动态。我怎么能这样做。作为我我是Php的新手,我被困在这里。

以下是PHP代码片段

<?php
    function readCSV($fileName) {
      $rows = array();
      $rows = file($fileName);
      return $rows;
}   ?>

  <span><b>Available Positions: </b></span>

  <ul>
    <li><a href="#<?php print_r(readCSV('joinUs.csv')[1]);?>"><?php print_r(readCSV('joinUs.csv')[1]);?></a></li>
    <li>|</li>
    <li><a href="#<?php print_r(readCSV('joinUs.csv')[2]);?>"><?php print_r(readCSV('joinUs.csv')[2]);?></a></li>
    <li>|</li>
    <li><a href="#<?php print_r(readCSV('joinUs.csv')[3]);?>"><?php print_r(readCSV('joinUs.csv')[3]);?></a></li>
    <li>|</li>
    <li><a href="#<?php print_r(readCSV('joinUs.csv')[4]);?>"><?php print_r(readCSV('joinUs.csv')[4]); ?></a></li>
  </ul>

joinUs.csv 文件

Available Position
Sr. Product Engineer
Quality Assurance Engineer
Frontend Javascript Engineer
Business Development Manager

显示为 enter image description here

请帮我制作上面的代码动态而不是将数组硬化为href标签中的1,2,3,4。

先谢谢 Rahul Jain

2 个答案:

答案 0 :(得分:1)

将CSV文件读入数组(就像您一样,但只能执行一次)。然后使用foreach()遍历数组。 PHP文档中有一个示例:http://us2.php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:1)

http://www.php.net/manual/fr/function.fgetcsv.php

您应该打开一个文件(使用fopen函数),然后您可以使用fgetcsv方法从csv中获取一行作为数组。 使用循环迭代每一行。

    $file = fopen($fileName, "r");

    while ($row = fgetcsv($file, 1000, ' ')) {
        echo "<ul>";
        foreach ($row as $element) {
            echo "<li>$element</li>";
        }
        echo "</ul>";
    }

    fclose($file);