我该如何转换这个数组?
我有以下阵列:我该如何转换这个数组?
["addToCart"]=>
array(3) {
[1]=>
array(5) {
["aantal"]=>
int(1)
["film_id"]=>
string(1) "1"
["zaal_id"]=>
string(1) "1"
["dag"]=>
string(7) "maandag"
["seats"]=>
array(4) {
[0]=>
string(2) "67"
[1]=>
string(2) "68"
[2]=>
string(2) "69"
[3]=>
string(2) "70"
}
}
你可以看到,我有一个数组所谓的“席位”的“addToCart” array.There内是“席”数组中的4项。 我想要的是4个独立的阵列,他们应该都有相同的内容,但他们每个人都需要有1个“座位”值。
我不知道我得到了你希望做的事情,但是这将导致阵列排列,其中每个只有一个座位:
$seatArrays = array();
foreach ($addToCart as $arr)
{
foreach ($arr["seats"] as $seat)
{
$seatArr = $arr; // Copy the original array
$seatArr["seats"] = $seat; // Replace the "seats" subarray with the current seat
$seatArrays[] = $seatArr;
}
}
这看起来正是我所期待的,但我问了问题,它实际上是一个会议阵列,我需要它以你描述的方式进行转换但它最终应该再次成为会话数组。也许我听起来很笨,因为我自己没有这样做,但我不知道该怎么做。我仍然从书本等学习,比我想象的更难。 – vincent 2010-08-03 22:11:10
我试图适应你的代码和周围有点乱,但我发现,如果你跟踪以下内容: foreach($ addToCart as $ arr) 丢失所有的ID,它会给出以下输出。 ' 阵列(5){ [0] => INT(1) [1] => 串(1) “1” [2] => 串(1) “1” [3 ] => 串(7) “maandag” [4] => 阵列(2){ [0] => 串(2) “21” [1] => 串(2)“22 “ } } ' – vincent 2010-08-04 08:44:33
我不太确定你在说什么......如果'$ addToCart'的子数组有键,那么'foreach中的$ arr'($ addToCart as $ arr)也是如此。就会话而言,您可以将'$ seatArray'放回到会话中。 – 2010-08-04 15:13:43
你能给如何产生的一个例子数组应该看起来像? – 2010-08-03 21:36:53
你错过了最终的大括号FWIW .... – 2010-08-03 22:06:49