Код PHP:
foreach ($fetch_res as $res){
echo '<pre>';print_r($res);
}
Созданный массив:
Array
(
[USERID] => 13663
[PROJID] => 999
[ENTRYDATE] => 13-NOV-14
[STARTDATE] => 01-NOV-14
[ENDDATE] => 20-NOV-14
[ACTIVE] => 123
[ALLOCATION] => 456
)
Array
(
[USERID] => 13664
[PROJID] => 999
[ENTRYDATE] => 13-NOV-14
[STARTDATE] => 01-NOV-14
[ENDDATE] => 20-NOV-14
[ACTIVE] => 124
[ALLOCATION] => 457
)
тогда как следующие поля имеют соответствующий идентификатор и статус, основанный на идентификаторах
ALLOCATION - 456(Y) / DEALLOCAION - 457(N)
ACTIVE - 123(Y) / INACTIVE - 124(N)
Используя приведенную выше информацию, как я могу создать ниже требуемый формат массива
array("ProjId"=>999,
"RS"=>array( //ALLOCATION ACTIVE
0=>array("13663","N","Y")
1=>array("13664","N","Y")
)
);
RS
- это ID
ресурса, где N
и Y
указывают статус.
Благодарю.
$data = array();
foreach ($fetch_res as $res){
$data['ProjId'] = $res['PROJID'];
$data['RS'][] = array($res['USERID'], ($res['ALLOCATION'] == 456) ? "Y" : "N", ($res['ALLOCATION'] == 123) ? "Y" : "N");
}
Если вам нужно это как строка, тогда -
$data['RS'][] = '"'.$res['USERID'].','. ($res['ALLOCATION'] == 456) ? "Y" : "N".','. ($res['ALLOCATION'] == 123) ? "Y" : "N".'"';
грубое кодирование. вы можете уточнить свой стиль.
foreach ($fetch_res as $res){
if($res["ALLOCATION"] == "456")$allocation = "Y";
else $allocation = "N";
if($res["ACTIVE"] == "123")$active = "Y";
else $active = "N";
$result[$res["PROJID"]][] = array($res["USERID"],$allocation,$active));
}
[0] => Array ( [0] => 13663 [1] => N [2] => N )
, как я могу изменить его на0=>array("13663","N","Y")
?