私はこのコードを持っています
foreach($mnthArrPtrn as $m => $mn)
{
if(!isset($catName)) {
$catVals = array();
$prevCat = $catName = $pntChrtQry[0]['CAT']['categoryname'];
$pntVals .= '{name:'.$catName.',data:[';
}else if($prevCat != $catName) {
$prevCat = $catName;
$catVals = array();
$pntVals .= '{name:'.$catName.',data:[';
}
foreach($pntChrtQry as $key => $val){
$catName = $val['CAT']['categoryname'];
if($prevCat != $catName){
continue 2;
}
echo '<br />$m::'.$m;
echo '<br />$mn::'.$mn;
echo '<br />$val::'.$val[0]['MNTH'];
if($m == $val[0]['MNTH'] || $mn == $val[0]['MNTH']){
$catVals[] = $val[0]['total'];
}
}
pr($catVals);
if(!isset($catName)){
$pntVals .= ']},';
}
$catName = $val['CAT']['categoryname'];
}
最初のループは、キーと値のペアとして結合された月の配列を反復処理します。ここで行っているのは、新しい catName を取得することです。内部ループを続行しますが、同時に $prevCat,$catName の値を保持してループ 1 を再開したいと考えています。これは可能ですか?これがばかげた質問である場合は申し訳ありません。
最初のものをwhileステートメントに変換してからリセットを使用しようとしましたが、役に立ちませんでした。