使用array_splice克隆数组中的行,然后存储新数组

时间:2009-10-25 17:24:53

标签: php arrays

我将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会话变量中

1 个答案:

答案 0 :(得分:1)

从您的代码中您已找到正确的行。我不确定你为什么需要array_splice?

如果您只需要克隆该行,那么$ value就是该行,只需将其附加到$ _SESSION ['csv']即可。如果你需要修改一些东西,然后从$ info数组重建该行,之后追加到csv。如果你需要按顺序排列,那么你需要在循环中重建csv。

顺便说一下:“$ cid”不好,取双引号,$ info [0] = $ cid也一样好。