在php中,将一个数组值存储在另一个对象数组中
我有两个数组,如下所示在php中,将一个数组值存储在另一个对象数组中,php,arrays,object,array-merge,Php,Arrays,Object,Array Merge,我有两个数组,如下所示 $array1 = Array ( [0] => stdClass Object ( [CUSTOMERTRXLINEID] => 2683959 [LINETYPE] => LINE [LINEAMOUNT] => 153000 [TAXAMOUNT] => 0
$array1 = Array
(
[0] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683959
[LINETYPE] => LINE
[LINEAMOUNT] => 153000
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 153000
[DESCRIPTION] => Silver Office Package Property#W 101,from 11-02-2018 to 10-02-2019 Area52.5
)
[1] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683960
[LINETYPE] => LINE
[LINEAMOUNT] => 10
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 10
[DESCRIPTION] => Knowledge Fees (As per Government of Dubai - Law(4) 2005
)
[2] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683961
[LINETYPE] => LINE
[LINEAMOUNT] => 10
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 10
[DESCRIPTION] => Innovation Fees (As per Government of Dubai - Law(20) 2015)
)
)
第二个数组为
$array2 = Array
(
[0] => 68850.00
[1] => 10
[2] => 10
)
我想在第一个数组的每个对象中再创建一个条目,作为[APPROVEDAMT]=>
,并将第二个数组值存储到其中。我希望生成的数组如下所示
$result_array = Array
(
[0] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683959
[LINETYPE] => LINE
[LINEAMOUNT] => 153000
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 153000
[DESCRIPTION] => Silver Office Package Property#W 101,from 11-02-2018 to 10-02-2019 Area52.5
[APPROVEDAMT] => 68850.00
)
[1] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683960
[LINETYPE] => LINE
[LINEAMOUNT] => 10
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 10
[DESCRIPTION] => Knowledge Fees (As per Government of Dubai - Law(4) 2005
[APPROVEDAMT] => 10
)
[2] => stdClass Object
(
[CUSTOMERTRXLINEID] => 2683961
[LINETYPE] => LINE
[LINEAMOUNT] => 10
[TAXAMOUNT] => 0
[INVOICEAMOUNT] => 153020
[CREDITEDAMOUNT] =>
[ORIGINALLINEAMOUNT] => 10
[DESCRIPTION] => Innovation Fees (As per Government of Dubai - Law(20) 2015)
[APPROVEDAMT] => 10
)
)
这就是我试过的
$total_line_items=$formData['totallineitem']->value;
$decode_array = json_decode($formData['invoice']->value);
$formArray = array($formData);
$ap_array = [];
for($x=0; $x<$total_line_items; $x++){
$ap_array[] = $formArray[0]['approve_amount_'.$x]->value;
}
for($i=0; $i<$total_line_items;$i++)
{
$data_value=$formData['data'.$i]->value;
$approved_amt=$formData['approve_amount_'.$i]->value;
if($data_value)
{
foreach($decode_array->LINEDETAILS as $array){
$array->APPROVEDAMT = $ap_array[$i];
print_r($array->APPROVEDAMT);
}
}
}
$total\u line\u items=$formData['totalineitem']->值;
$decode_array=json_decode($formData['invoice']->value);
$formArray=数组($formData);
$ap_数组=[];
对于($x=0;$xvalue;
}
对于($i=0;$ivalue;
$approved\u amt=$formData['approve\u amount.$i]>值;
如果($data\u值)
{
foreach($decode_array->LINEDETAILS as$array){
$array->APPROVEDAMT=$ap_数组[$i];
打印($array->APPROVEDAMT);
}
}
}
试试这段代码
foreach ($array1 as $key => $value) {
$array1[$key]['APPROVEDAMT'] = $array2[$key];
}
它将循环第一个数组,并用第二个数组值添加一个新索引。希望这有助于通常的foreach做这项工作。您尝试了什么?我也尝试了foreach for n all。但是索引和存储没有正确进行。显示您的代码$total_line_items=$formData['totalineitem']->value;$decode\u array=json\u decode($formData['invoice']->value];$formArray=array($formData);$ap_array=[];for($x=0;$xvalue;})for($i=0;$ivalue;$approved_amt=$formData['approve_amount.$i]->value;if($data_value){foreach($decode_array->LINEDETAILS as$array){$array->APPROVEDAMT=$ap_array[$i];print_r($array->APPROVEDAMT)}把它放在问题中,请考虑我的回答,如果这对你有帮助的话。