0

私は PHP と Yii にかなり慣れていないので、Google での質問と同じではないので、私が考えることができる唯一のことは、私が多くの問題を解決したこのリストに質問することです。

問題は次のとおりです。私が添付したコードでは、配列とプロセス後に保持しているいくつかのレコードを読み取ります。

さて、最初に foreach のデバッグ エントリを見ると、すべてがうまくいき、変数$itemsが読み込まれますが、2 番目のデバッグ$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 (empty($items[$a]) ||$items[$a]=null ){は常に に割り当て$items[$a]られnullます。

値を比較する==には、代入演算子の代わりに比較 (等価) 演算子を使用します=

于 2013-02-09T06:08:47.603 に答える