在PHP中丢失var

时间:2013-02-08 17:19:00

标签: php yii

我对PHP和Yii相当新,而且我不是谷歌的问题,所以我能想到的唯一问题就是向这个列表提问我解决了很多问题。< / p>

问题如下:在我附加的代码中,我读了几个记录,我保留在数组中并在进程之后。

好吧,如果你先看看foreach中的调试条目,一切顺利,加载变量$items,但是当我到达第二个调试$items变量时,它具有正确的数字元素,但元素为空:count ($items) = 2$items[0]$items[1]null

$idiomas=CListaMidiomas::model()->findAll();
$items=array();
$nombre=array();
$a=0;
foreach ($idiomas as $idioma){
    $nombre[$a]=$idioma->sIdioma;
$items[$a]=TblCategoriastexto::model()->findAll(
        array('condition'=>'id='.$data->id.' AND idIdioma='.$idioma->id_idioma));
echo "<br>---AAAAAAAAAAA--".$a."-----------<br>";
CVarDumper::dump($items); //in this moment is correct
if (empty($items[$a]) ||$items[$a]==null ){ // not enter because $items have content
    $items[$a]=new TblCategoriastexto();
    $items[$a]->idIdioma=$idioma->id_idioma;
}
$a++;
}
echo ">>>>>>>>>>>>>>>".count($items) ; //<<<<<<<<<<present 2
CVarDumper::dump($items);              // but in this moment t0 2 are null

for ($a=0;$a<count($items) ;$a++){
echo "<b>".CHtml::encode($nombre[$a]).":</b>";
$out="";
$item=$items[$a];
echo "<br>-----".$a."-----------<br>";
CVarDumper::dump($items[$a]);<<<<<<<<<<<<<<<<<<<<<<<<null
for ($b=1;$b<=20;$b++){
    $campo="tc".$b;
    $out.=$items[$a]->$campo . ",";<<<<<<<<<<<<<<<<error
}
echo CHtml::encode($out);
echo"<br>";
}

2 个答案:

答案 0 :(得分:0)

尝试更改此行:

if(isset($items[$a]->$campo)) {
    $out.=$items[$a]->$campo . ",";
}

答案 1 :(得分:0)

此行:if (empty($items[$a]) ||$items[$a]=null ){将始终将$items[$a]分配给null

要比较值,请使用比较(用于相等)运算符==而不是赋值运算符=

相关问题