我正在尝试执行以下操作。我在数组中有以下数组“item_code”:
Array
(
[name] => Wes
[email] => no@no.com
[duration] => 2 days
[comment] => stuff
[item_code] => Array
(
[0] => USE4220HP9,USE4220HP8,USE4220HP7,USE4220HP6,USE4220HP5
[1] => USE0463V8E,USE1066KYN,USE0463V7S,USE1066KYS,USE1066KYK
)
)
item_code数组可能有多个键 - 超过两个。我想要做的是将item_code数组转换为单个数组,其中每个USExxxxx值是数组中的单个键。
我理解如何使用类似foreach的内容并将示例转换为:
$serial = $_POST['item_code'];
foreach ($serial as $sn => $id)
{
$finalsn = ($serial[$sn]);
print_r(explode(',', $finalsn));
}
结果
Array
(
[0] => USE4220HP9
[1] => USE4220HP8
[2] => USE4220HP7
[3] => USE4220HP6
[4] => USE4220HP5
)
Array
(
[0] => USE0463V8E
[1] => USE1066KYN
[2] => USE0463V7S
[3] => USE1066KYS
[4] => USE1066KYK
)
但是如何将这两个数组合并为一个数组呢?我需要将它作为循环外的单个数组,以便我可以将值传递给单个mysql查询。我尝试使用array_merge但没有运气。
答案 0 :(得分:0)
也许我在这里误解了一些东西,但是这个$testArr
包含迭代后的所有USE数字。
$serial = $_POST['item_code'];
$finalArr = array();
foreach ($serial as $sn => $id)
{
$tmpStr = ($serial[$sn]);
$tmpArr= explode(',', $tmpStr);
array_push($finalArr,$tmpArr);
}
答案 1 :(得分:0)
$serial = $_POST['item_code'];
$final_arr=array()
foreach ($serial as $sn => $id)
{
$finalsn = ($serial[$sn]);
$temp_arr=(explode(',', $finalsn));
foreach($temp_arr as $temp){
$final_arr[]=$temp;
}
}
print_r($final_arr;)
答案 2 :(得分:0)
您可以使用array_merge
将其合并到最终数组中$serial = $_POST['item_code'];
$finalArray = Array();
foreach ($serial as $sn => $id)
{
$finalsn = ($serial[$sn]);
print_r(explode(',', $finalsn));
$finalArray = array_merge($finalArray, explode(',', $finalsn));
}