0

我想动态创建数组数组,但我不知道如何初始化我的数组...

这是代码:

$resT= array();
$resR= array();
foreach ($cursor as $obj) {
   if ($obj == NULL) continue;
   $c="XX";
   if (test1)         $c=$obj['GC'];
   array_push($resT[$c],$obj['AT']);
   array_push($resR[$c],$obj['AR']);
}

我得到了这个:array_push() 期望参数 1 是数组

谢谢,

阿米尔。

4

4 回答 4

2
$resT= array();
$resR= array();
foreach ($cursor as $obj) {
   if ($obj == NULL) continue;
   $c="XX";
   if (test1)         $c=$obj['GC'];
    if(!isset($resT[$c]))
      $resT[$c] = array();
    if(!isset($resR[$c]))
      $resR[$c] = array();
   array_push($resT[$c],$obj['AT']);
   array_push($resR[$c],$obj['AR']);
}
于 2011-07-19T21:16:43.647 回答
1

你甚至不需要使用array_push。

您可以使用的简写符号

$resT= array();
$resR= array();
foreach ($cursor as $obj) {
   if ($obj == NULL) continue;
   $c="XX";
   if (test1)         $c=$obj['GC'];
   $resT[$c] = array();
   $resT[$c][] = $obj['AT'];
   $resR[$c] = array();
   $resR[$c][] = $obj['AR'];
}
于 2011-07-19T21:16:55.570 回答
0

我不知道您要完成什么,但这至少应该解决您的 PHP 通知:

$resT= array();
$resR= array();
foreach ($cursor as $obj) {
   if ($obj == NULL) continue;
   $c="XX";
   if (test1)         $c=$obj['GC'];

   if(!is_array($resT[$c])){
      $resT[$c] = array();
   }

   if(!is_array($resR[$c])){
      $resR[$c] = array();
   }

   array_push($resT[$c],$obj['AT']);
   array_push($resR[$c],$obj['AR']);
}
于 2011-07-19T21:16:48.130 回答
0
$resT= array();
foreach ($cursor as $obj) {
  if (!is_null($obj)) {
    $c = $test1 ? $obj['GC'] : "XX";
    if (!array_key_exists($c, $resT)) $resT[$c] = array();
    $resT[$c][] = $obj['AT'];
  }
}
$resR = $resT;
于 2011-07-19T21:21:34.867 回答