Как вставить элемент в массив?

Ventura

Новичок
Как вставить элемент в массив?

Может я плохо искал, но я не нашел стандартной функции для вставки в массив елемента. Есть добавить в начало, в конец, а как между? Не пересобирать же в новый массив?

Спасибо, и извините если вопрос глупый или обсосаный.
 

Demiurg

Guest
> Не пересобирать же в новый массив?
похоже это лучший выход.
 

vladax

Новичок
ИМХО смотря какие цели. Иногда массив и вовсе не надо модифицировать, хотя на первый взгляд кажется что надо...
PHP:
       $string=34; //номер строки после кот. на до вставить ещё одну 
       //читаем строки файла
        $f=file("somefile.dat") or die("файл не найден");

        $contents = '';

        //считываем то, что идет до
        for ($i=0; $i<=$string; $i++){
             $contents .= trim($f[$i])."\n";
        }

        //добавляем строку
        $contents .= $_POST['one']."|".$_POST['two']."|".$_POST['three']."\n";

        //добавляем то, что после
        for ($i=$string+1, $y=count($f); $i<$y; $i++){
             $contents .= trim($f[$i])."\n";
        }

        // открываем файл
        $file="somefile.dat";
        $fh=@fopen($file, "w") or die("Не возможно открыть");

        // записать данные в файл новостей
        $wr=fwrite($fh, $contents) or die("Не возможно записать");

        // закрываем файл
        fclose($fh);
Скажите если не прав...
 

Ventura

Новичок
я бы сказал смотря какие возможности. Я "на лету" добавлять не могу. Мне сначала надо все данные получить и проанализировать
 

tony2001

TeaM PHPClub
>$ar=array(1,2,4);
>надо получить массив (1,2,3,4)
$arr = Array(1,2,4);
$arr[] = 3;

если важен порядок - отсортируй массив после этого.
 

Ventura

Новичок
Логично, но значения у меня отнюдь не 1,2,3,4. А так, как вариант, очень даже не плохой способ.
 
Сверху