клонировать строку в массив с помощью array_splice, а затем сохранить новый массив - PullRequest
0 голосов
/ 25 октября 2009

У меня есть текст 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 Ответ

1 голос
/ 25 октября 2009

Из вашего кода вы уже нашли правильную строку. Я не уверен, зачем вам array_splice?

Если вам просто нужно клонировать строку, тогда $ value - это строка, просто добавьте ее к вашему $ _SESSION ['csv']. Если вам нужно что-то изменить, то восстановите строку из массива $ info, потом добавьте к csv. Если вам нужны строки по порядку, вам нужно восстановить CSV в цикле.

Кстати: «$ cid» не годится, снимите двойную кавычку, $ info [0] = $ cid - тоже хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...