私はマルチ配列を持っているので、他の配列と組み合わせる必要があります。この配列はXML形式でSOAPに送信されるため、正しい構造を持つ必要があります。PHPの多次元配列をマージする
この配列は請求書のようなもので、繰り返しなければならない「items」があります。だから、私は2つの配列(1つは常に同じ構造を持つ)を作成し、items配列を追加すると思います。
マージを使用すると、2番目の配列を正しいキーに配置できないという問題があります。ここに例があります。
これが正しい配列構造である:だから
$params = array(
'authRequest' =>
array('token' => 'token',
'sign' => 'sign',
'cuitRepresentada' => 'CUIT'),
'comprobanteRequest' =>
array( 'codigoTipoComprobante' => $codtipcbte,
'numeroPuntoVenta' => $ptovta,
'numeroComprobante' => $cbte,
**'arrayItems' =>
array('item' =>
array(
array(
'tipo'=> $compreqitem['tipo'],
'codigoTurismo'=> $compreqitem['codTur'],
'descripcion'=> $compreqitem['descrip'],
'codigoAlicuotaIVA'=> $compreqitem['codAlic'],
'importeIVA'=> $compreqitem['impIva'],
'importeItem'=> $compreqitem['impItem'],
),
array(
'tipo'=> $compreqitem['tipo'],
'codigoTurismo'=> $compreqitem['codTur'],
'descripcion'=> $compreqitem['descrip'],
'codigoAlicuotaIVA'=> $compreqitem['codAlic'],
'importeIVA'=> $compreqitem['impIva'],
'importeItem'=> $compreqitem['impItem'],
),
),
),**
'arraySubtotalesIVA' =>
array('subtotalIVA' =>
array(
'codigo'=> $compreqiva['codIva'],
'importe'=> $compreqiva['importe'],
),
),
),
);
、私は "arrayItems" 空
'arrayItems' => array(),
で配列を構築、私はarrayItem配列を構築:
$arrayitems =
array('arrayItems' =>
array('item' =>
array(
array(
'tipo'=> $compreqitem['tipo'],
'codigoTurismo'=> $compreqitem['codTur'],
'descripcion'=> $compreqitem['descrip'],
'codigoAlicuotaIVA'=> $compreqitem['codAlic'],
'importeIVA'=> $compreqitem['impIva'],
'importeItem'=> $compreqitem['impItem'],
),
array(
'tipo'=> $compreqitem['tipo'],
'codigoTurismo'=> $compreqitem['codTur'],
'descripcion'=> $compreqitem['descrip'],
'codigoAlicuotaIVA'=> $compreqitem['codAlic'],
'importeIVA'=> $compreqitem['impIva'],
'importeItem'=> $compreqitem['impItem'],
),
),
),
);
次に、両方の配列に結合するためにmergeを使用します:
$resultado = array_merge($params['comprobanteRequest'], $arrayitems);
動作しますが、最初のキーが削除されます...
私が削除された理由を知らない'authRequest' =>
array('token' => 'token',
'sign' => 'sign',
'cuitRepresentada' => 'CUIT'),
、多分マージ機能がcorect方法ではありません...事前に
ありがとう!
ありがとうございます!私はそれがどれくらいのアイテムがインボイスを持つのか知りませんので、この方法で行います。 –