0

第 1 部分:我需要为一组数组变量创建一个循环

for ($cnt=1; $cnt<=$qty; $cnt++) {
      $firstvar.$cnt['Code'] = '02';
      $secondvar.$cnt['Type'] = $somevar;
      $thirdvar.$cnt['Code'] = 'IN';
   }

// 结果为

      $firstvar1['Code'] = '02';
      $secondvar1['Type'] = $somevar;
      $thirdvar1['Code'] = 'IN';

      $firstvar2['Code'] = '02';
      $secondvar2['Type'] = $somevar;
      $thirdvar2['Code'] = 'IN';  

//etc.

但是,$cnt 变量的解析似乎与数组冲突。

第 2 部分:然后我需要创建一个变量数组,如下所示:

  $lastvar['Thing'] = array( $thirdvar1, $thirdvar2, ... $thirdvar.$qty );

在这里,使用 for 循环创建一个简单的字符串并将其放入数组中是行不通的。

谢谢!

4

3 回答 3

0

为什么不直接做所有事情?

foreach ($cnt as $c) {
    $firstvar[$c['Code']] = 02;
    $secondvar[$c['Type']] = $somevar;
    $lastvar['Thing'][] = 'IN';
}
于 2012-05-18T15:01:12.980 回答
0

第 1 部分:$firstvar.$cnt['Code']应该是${"firstvar$cnt"}['Code'](或${'firstvar'.$cnt}['Code'])。

第2部分:

for ($cnt=1; $cnt<=$qty; $cnt++) {
    $lastvar['Thing'][] = ${'thirdvar'.$qty};
}

第 3 部分:(我的!)
将所有内容放在同一个循环中:

for ($cnt=1; $cnt<=$qty; $cnt++) {
  ${'firstvar'.$cnt}['Code']  = 02;
  ${'secondvar'.$cnt}['Type'] = $somevar;
  ${'thirdvar'.$cnt}['Code']  = 'IN';
  $lastvar['Thing'][]         = ${thirdvar$qty};

}

请记住,如果您使用数组而不是变量名称连接,则此代码会更简洁。

于 2012-05-18T15:01:19.907 回答
0
<?php
$somevar = "testValue";
$qty = 5;
$lastvar['Thing'] = array();
for($cnt=1; $cnt<=$qty; $cnt++) 
{
    ${"firstvar$cnt"} = array('Code' => '02', 'Type' => $someVar, "Code" => "IN");
    $lastvar['Thing'][] = ${"firstvar$cnt"};
}

var_dump($lastvar);

应该管用。

于 2012-05-18T15:06:32.840 回答