0

.csv ファイルからの配列があります。これらは、不動産プログラムからのものです。2 番目の列には For Sale という単語があり、3 番目の列には For Rent という単語があり、関連する行にのみ示されています。それ以外の場合、セルは空です。たとえば、販売中のみのリスト行を表示したい。もちろん、ユーザーがいずれかの行のリンクをクリックすると、適切なページが表示されます。列内のテキストをターゲットにすることはできないようです。また、別の列 (説明など) に表示される可能性があるため、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: 配列 (CSV) を取得し、情報をインテリジェントに返す

$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 に答える