0

我是 PHP 的菜鸟。我真的坚持这一点,可以做一些帮助!

我正在使用以下代码来控制当变量(例如 $project1title 和 $project1description)为空/非空时是否出现 div 类和 span 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;
}

当我只有一个项目标题和描述时,代码可以正常工作,但是当我开始添加时($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 对您很重要,您可以在项目数组中添加一个 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 回答