Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP更改数组结构并设置状态_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP更改数组结构并设置状态

PHP更改数组结构并设置状态,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,PHP代码: foreach ($fetch_res as $res){ echo '<pre>';print_r($res); } ALLOCATION - 456(Y) / DEALLOCAION - 457(N) ACTIVE - 123(Y) / INACTIVE - 124(N) 鉴于以下字段具有各自的ID和基于ID的状态 array("ProjId"=>999, "RS"=>array( //ALLOCATION ACTIV

PHP代码:

foreach ($fetch_res as $res){

        echo '<pre>';print_r($res);
}
ALLOCATION - 456(Y) / DEALLOCAION - 457(N) 
ACTIVE - 123(Y) / INACTIVE - 124(N)
鉴于以下字段具有各自的ID和基于ID的状态

array("ProjId"=>999,
      "RS"=>array( //ALLOCATION ACTIVE
         0=>array("13663","N","Y")
         1=>array("13664","N","Y")
     )
);
使用上述信息,如何生成以下所需的数组格式

  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));
  }
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");
}
如果您需要它作为字符串,那么-


谢谢你的回复。但是我不知道如何将它改为数组(“13663”,“N”,“Y”),而不是数组([0]=>13663[1]=>N[2]=>N),但它给出的结果与前面的代码相同。为什么需要这样?我需要以相同的格式插入数据,绕过键并以逗号分隔的格式显示值。然后将其存储为
string
。为什么
数组
??
$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".'"';