0

こんにちは私は次の配列を持っています

array(4) {
  [0]=>
  array(3) {
    ["id_acreditado"]=>
    string(3) "174"
    ["cantidad"]=>
    string(7) "4008.00"
    ["acreditado"]=>
    string(27) "Olga Olivia Lucio Hernandez"
  }
  [1]=>
  array(3) {
    ["id_acreditado"]=>
    string(3) "175"
    ["cantidad"]=>
    string(7) "4008.00"
    ["acreditado"]=>
    string(23) "Enrique Carranco Vences"
  }
  [2]=>
  array(3) {
    ["id_acreditado"]=>
    string(3) "176"
    ["cantidad"]=>
    string(7) "4008.00"
    ["acreditado"]=>
    string(32) "Juana Patricia Contreras Paredes"
  }
  [3]=>
  array(3) {
    ["id_acreditado"]=>
    string(3) "177"
    ["cantidad"]=>
    string(7) "4008.00"
    ["acreditado"]=>
    string(17) "Noemi Cruz Campos"
  }
}

そして、上記の配列のいくつかの値と異なるインデックスを使用して2次元配列を作成したいと思います。私はそれを達成するためにforeachループを使用しています。

$j=1;
foreach($acreditados as $acreditado){
    $tmp['oneCol'] = $j;
    $tmp['twoCol'] = $acreditado['acreditado'];
    $tmp['threeCol'] = $acreditado['cantidad'];
    $info['fourCol'] =$acreditado['id_acreditado'];
    $info[]=$tmp;
    $j++;
}

$ tmpは、最近2次元の$ info配列の行として追加された補助的な一次元配列ですが、期待どおりの出力が得られません。出力として次のようなものが必要です。

array(4) {
      [0]=>
      array(3) {
        ["oneCol"]=>
        int(1)
["twoCol"]=>
        string(27) "Olga Olivia Lucio Hernandez"
        ["threeCol"]=>
        string(7) "4008.00"
["fourCol"]=>
        string(3) "174" 
      }
      [1]=>
      array(3) {
 ["oneCol"]=>
        int(2)
["twoCol"]=>
        string(23) "Enrique Carranco Vences"
        ["threeCol"]=>
        string(7) "4008.00"
["fourCol"]=>
        string(3) "175"
      }
      [2]=>
      array(3) {
 ["oneCol"]=>
        int(3)
       ["twoCol"]=>
        string(32) "Juana Patricia Contreras Paredes"
        ["threeCol"]=>
        string(7) "4008.00"   
 ["fourCol"]=>
        string(3) "176"
      }
      [3]=>
      array(3) {
 ["oneCol"]=>
        int(4)
       ["twoCol"]=>
        string(17) "Noemi Cruz Campos"
        ["threeCol"]=>
        string(7) "4008.00"
 ["fourcol"]=>
        string(3) "177"
      }
    }
4

1 に答える 1

1

コードエラーがあります

この線

$info['fourCol'] =$acreditado['id_acreditado'];

する必要があります

$tmp['fourCol'] =$acreditado['id_acreditado'];

したがって、コードは次のようになります。(追加された$ tmp配列のリセットを使用)

$j=1;
foreach($acreditados as $acreditado){
    $tmp = array();
    $tmp['oneCol'] = $j;
    $tmp['twoCol'] = $acreditado['acreditado'];
    $tmp['threeCol'] = $acreditado['cantidad'];
    $tmp['fourCol'] =$acreditado['id_acreditado'];
    $info[] = $tmp;
    $j++;
}
于 2012-05-31T15:35:24.040 に答える