0

私はPHPの初心者です。私は本当にこれに行き詰まっており、助けが必要です!

次のコードを使用して、変数 ($project1title と $project1description など) が空/空でない場合に div クラスとスパン ID が表示されるかどうかを制御しています。

$html = '<div class="infobar"><div class="infobar-close"></div>';
$content = false;

if ($project1title !== '' && $project1description !== '')
{
$html .= '<span id="title"></span><span id="description"></span>';
$content = true;
}
// etc.

$html .= '</div>';

if ($content)
{
echo $html;
}

そこにプロジェクトのタイトルと説明が1つしかない場合、コードは正常に機能しますが、追加を開始する($project2title !== '' && $project2description !== '') if ($project3title !== '' && $project3description !== '')と、プロジェクトのタイトルと説明ごとに一意のIDが必要になるため、混乱します。私の質問は、それぞれに一意の ID を持たせるにはどうすればよいですか? (配列を使用する必要がありますか?) そして、各プロジェクトに一意の ID を指定したら、上記のコードのどこでそれぞれの一意の ID を宣言する必要がありますか?

4

2 に答える 2

0

操作は次のとおりではありません。

!= 

それ以外の

!==

?

于 2012-11-30T19:52:23.673 に答える
0

これはどうですか :

<?php



$projects = array(
    array(
        'title' => 'myTitle',
        'description' => 'my description',
    ),
    array(
        'title' => 'myTitle2',
        'description' => 'my description2',
    ),
);


$html = '<div class="infobar"><div class="infobar-close"></div>';
$content = false;


$id = 1;
foreach($projects as $project){
    if(!empty($project['title']) && !empty($project['description'])){
        $html .= '<span id="title'. $id .'"></span><span id="description'. $id .'"></span>';
        $content = true;
    }
    $id++;
}

$html .= '</div>';

if ($content) {
    echo $html;
}

id が重要な場合は、projects 配列に id キーを追加できます。それは役に立ちますか?

または、動的変数を確認する必要があると思います。これは、動的変数でできることの簡単な例です。

<?php





$html = '<div class="infobar"><div class="infobar-close"></div>';
$content = false;




for($i = 1;$i<=10;$i++){
    $title = 'project' . $i . 'title';
    $description = 'project' . $i . 'description';

    if (isset($$title) && isset($$description) && $$title !== '' && $$description !== '')
    {
        $html .= '<span id="title'. $i .'"></span><span id="description'. $i .'"></span>';
        $content = true;
    }

}





$html .= '</div>';

if ($content)
{
    echo $html;
}
于 2012-11-30T19:57:34.233 に答える