我一直在尝试将数组拆分为两组,目前我的数组看起来像这样。
Array
(
[cities] => Array
(
[0] => Array
(
[id] => 0
[storename] => test
[notes] => test
[rejected] => off
[offer] =>
[time] => 1393585744241
)
[1] => Array
(
[id] => 1
[storename] => test2
[notes] => test2
[rejected] => on
[offer] => test2
[time] => 1393585751264
)
)
)
PHP
foreach( $array['cities'] as $data)
{
if($data['rejected'] == "off"){
$rejected = array();
array_push($rejected, $data['id'], $data['storename'], $data['offer']);
}
if($data['rejected'] == "on"){
$nonerejected = array();
array_push($nonerejected, $data['id'], $data['storename'], $data['offer']);
}
}
我出错的任何想法?
答案 0 :(得分:3)
试试这个,
$nonerejected = array();
$rejected = array();
foreach( $array['cities'] as $data)
{
if($data['rejected'] == "off"){
array_push($rejected, $data['id'], $data['storename'], $data['offer']);
}
if($data['rejected'] == "on"){
array_push($nonerejected, $data['id'], $data['storename'], $data['offer']);
}
}
您应该在$nonerejected
循环之外声明$rejected
和foreach
数组
答案 1 :(得分:2)
您反复重新创建阵列。在 $rejected = array()
循环之前,将$nonrejected = array()
和foreach
移至。
答案 2 :(得分:1)
Yo正在每次迭代中创建数组到foreach
循环。您必须在它之前创建循环外的$rejected
和$nonerejected
:
$nonerejected = array();
$rejected = array();
foreach( $array['cities'] as $data)
{
if($data['rejected'] == "off"){
array_push($rejected, $data['id'], $data['storename'], $data['offer']);
}
if($data['rejected'] == "on"){
array_push($nonerejected, $data['id'], $data['storename'], $data['offer']);
}
}