0

我有一个来自 .csv 文件的数组。这些来自一个房地产项目。在第二列中,我有单词 For Sale,在第三列中,For Rent 仅在相关行上显示。否则单元格为空。例如,我只想显示列表行 For Sale。当然,如果用户单击其中一行中的链接,则会显示相应的页面。我似乎无法定位列中的文本,也不允许在整个数组中使用 For Sale 字样,因为它们可能出现在另一列中(例如描述)。我试过这个,但无济于事。

/* The array is $arrCSV */
foreach($arrCSV as $book) {
    if($book[1] === For Sale) {
      echo '<div>';
    }
    echo '<div>';
    echo $book[0]. '<br>';
    echo $book[1]. '<br>';
    echo $book[2]. '<br>';
    echo $book[3]. '<br>';
    echo $book[6]. '<br><br><br>';
    echo '</div>';
}

我也试过这个:

foreach($arrCSV as $key => $book) {
    if($book['1'] == 'For Sale') {
      echo '<div>';
    }
    echo '<div>';
    echo $book[0]. '<br>';
    echo $book[1]. '<br>';
    echo $book[2]. '<br>';
    echo $book[3]. '<br>';
    echo $book[6]. '<br><br><br>';
    echo '</div>';
}
4

2 回答 2

0

我在这里找到了一个解决方案: PHP: Take Array (CSV) And Intelligently Returning Information

$searchCity = 'For Sale'; //or whatever you are looking for
$file = file_get_contents('annonces.csv');
$results = array();
$lines = explode("\n",$file); 
//use any line delim as the 1st param,
//im deciding on \n but idk how your file is encoded

foreach($lines as $line){
//split the line
$col = explode(";",$line);
//and you know city is the 3rd element
if(trim($col[1]) == $searchCity){
     $results[] = $col;
}
}

接着:

foreach($results as $Rockband)
{
echo "<tr>";
foreach($Rockband as $item)
{
echo "<td>$item</td>";
}
echo "</tr>";
}

如您所见,我正在学习。事实证明,通过制定一个问题,就会显示一系列类似的帖子,这比使用google要快得多,也容易得多。谢谢。

于 2012-04-25T11:46:02.507 回答
0

你的意思是:

foreach($arrCSV as $key => $book) {
    if($book['1'] == 'For Sale') {
        echo '<div></div>';
    }else{
        echo '<div>';
        echo $book[0]. '<br>';
        echo $book[1]. '<br>';
        echo $book[2]. '<br>';
        echo $book[3]. '<br>';
        echo $book[6]. '<br><br><br>';
        echo '</div>';
    }
}
于 2012-04-24T15:25:16.053 回答