我将CSV文本存储在会话数组中作为csv。这些行由###终止,字段由%%终止 我在该数组中的行号也是CID,或者我要克隆的行。
我需要在csv数组中找到该行,拼接它,然后用拼接数组更新会话变量。
$data = $_SESSION['csv'];
$cid = $_POST['cid'];
$csvpre = explode("###", $data);
foreach ( $csvpre AS $key => $value){
$info = explode("%%", $value);
if($info[0] == "$cid"){
array_splice($csvpre, $cid, 0, $info);
}
}
我不认为我这样做是正确的,我没有睡觉,这让人感到困惑。
目标是让用户选择要克隆的行,然后执行此功能,并将该行克隆到csv会话变量中
答案 0 :(得分:1)
从您的代码中您已找到正确的行。我不确定你为什么需要array_splice?
如果您只需要克隆该行,那么$ value就是该行,只需将其附加到$ _SESSION ['csv']即可。如果你需要修改一些东西,然后从$ info数组重建该行,之后追加到csv。如果你需要按顺序排列,那么你需要在循环中重建csv。
顺便说一下:“$ cid”不好,取双引号,$ info [0] = $ cid也一样好。