0

我对 PHP 和 Yii 还很陌生,而且我不是也不是 google 中的问题,所以我唯一能想到的就是向这个列表提出问题,我已经解决了很多问题。

问题如下:在我附加的代码中,我读取了我保存在数组中的几条记录,并且在处理之后。

好吧,如果您首先查看他的 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>";
}
4

2 回答 2

0

尝试更改此行:

if(isset($items[$a]->$campo)) {
    $out.=$items[$a]->$campo . ",";
}
于 2013-02-08T18:28:36.287 回答
0

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

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

于 2013-02-09T06:08:47.603 回答