调用if中的php变量


Calling a php variable that is within an if

有人能解释一下为什么我不能调用设置在if内部的var吗?怎么称呼它?我不明白为什么这是空的。

我需要变量$workshop_manha$workshop_tarde带来来自DB的值。

代码

$id    = implode(",", $id);
 
$sql_consulta  = mysql_query("SELECT * FROM pessoa WHERE id IN($id)")
    or die (mysql_error());
    
    $linha = mysql_fetch_array($sql_consulta);
    $id = $linha['id'];
    $nome = $linha['nome'];
    $opcoes = $linha['opcoes'];
    
    $opcoes2 = explode(":", $opcoes);
    $opcoes3 = explode("+", $opcoes2[1]);
    $opcao_congresso = $opcoes3[0]; // Option Congress
    
    
    if(!empty($opcoes2[2])){
    $opcoes4 = explode("+", $opcoes2[2]);
    $pre_workshop_manha = $opcoes4[0]; // Workshop Morning Option
        if($pre_workshop_manha == 'Paul Gilbert'){
            $workshop_manha = "Paul Gilbert: Introdução à Terapia Focada na Compaixão e Técnicas";
        }
        if($pre_workshop_manha == 'Daniel Rijo'){
            $workshop_manha = "Daniel Rijo: Os Esquemas do terapeuta e a relação terapêutica com doentes com patologia de personalidade";
        }
        if($pre_workshop_manha == 'Maria Salvador'){
            $workshop_manha = "Maria do Céu Salvador: Os Esquemas do terapeuta e a relação terapêutica com doentes com patologia de personalidade";
        }
    }
    
    
    if(!empty($opcoes2[3])){
    $opcoes5 = explode("+", $opcoes2[3]);
    $pre_workshop_tarde = $opcoes5[0]; // Worhshop Afternoon Option
        if($pre_workshop_tarde == 'Donna Sudak'){
            $workshop_tarde = "Donna Sudak: Quando as coisas ficam difíceis: Aplicações práticas da Terapia Comportamental Dialética";
        }
        if($pre_workshop_tarde == 'Philipp Kendall'){
            $workshop_tarde = "Philipp Kendall: Estratégias dentro de tratamentos empiricamente baseados em evidências para jovens com ansiedade";
        }
    }
    
    echo "Work manhã: ".$workshop_manha; //is coming empty :(
    echo "Work tarde: ".$workshop_tarde; //is coming empty :(

这是因为$workshop_manha$workshop_tarde没有在if语句之前定义。

把这个放在if语句之前:

$workshop_manha = '';
$workshop_tarde = '';

您可以将它们用作array()。清空开头的值:

$workshop_manha=array();
$workshop_tarde=array();

然后将值用作:

$workshop_manha[] = "Paul Gilbert: Introdução à Terapia Focada na Compaixão e Técnicas";

显示如下:

if(!empty($workshop_manha))  {
    foreach ($workshop_manha as $manha) {
        echo "$manha <br />";
    }
}
if(!empty($workshop_tarde))  {
    foreach ($workshop_tarde as $tarde) {
        echo "$tarde <br />";
    }
}