Php 分割数组
我一直在尝试将一个数组分为两组,目前我的数组如下所示Php 分割数组,php,arrays,array-push,Php,Arrays,Array Push,我一直在尝试将一个数组分为两组,目前我的数组如下所示 Array ( [cities] => Array ( [0] => Array ( [id] => 0 [storename] => test [notes] => test
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']);
}
}
知道我哪里出错了吗 您正在重复地重新创建阵列。将
$rejected=array()
和$NOREJECTED=array()
移动到foreach
循环之前。您正在重复地重新创建数组。将$rejected=array()
和$NOREJECTED=array()
移动到foreach
循环之前。试试这个
$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']);
}
}
您应该在foreach
循环之外声明$nonerejected
和$rejected
数组
$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']);
}
}
您应该在
foreach
循环之外声明$nonerejected
和$rejected
数组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']);
}
}
您正在为
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']);
}
}