Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2012, 13:23   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Правильное чтение документации на PHP

PHP код:
array array_slice ( array $array int $offset [, int $length NULL [, bool $preserve_keys false ]] ) 
Как читать правильно эту строку в документации PHP? Первый параметр означает, что переменная должна передаваться как массив, а вот второй параметр загадочно как-то, расшифруйте.
kilogram вне форума Ответить с цитированием
Старый 09.05.2012, 13:38   #2
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

То есть при вызове функции array_slice я могу передать этой функции 4 параметра, но обязательно их должно быть как минимум 2?

PHP код:
array_slice $array ,2,3true); 
kilogram вне форума Ответить с цитированием
Старый 09.05.2012, 14:52   #3
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Первые два параметра обязательны. Остальные опционально.
Первый параметр - массив, второй целое число.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 09.05.2012, 15:01   #4
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

А так чтоб сохранялись ключи при замене существующего массива не получиться?

Код:
$input = array("color1"=>"red","color2"=> "green","color3"=>"blue","color4"=>"yellow");
array_splice($input,1,count($input),"orange");
echo '<pre>'.print_r($input,1).'</pre>';
Результат:
Код:
Array
(
    [color1] => red
    [0] => orange
)
Как сделать чтоб не нумировался ключ с нуля, а подставлялось ассоциативное имя ключа?
kilogram вне форума Ответить с цитированием
Старый 09.05.2012, 15:31   #5
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Вот так тоже переименовывает ключи в числа.

PHP код:
$mas = array("Имя1"=>"orange","Имя2"=>"magenta");
$input = array("color1"=>"red","color2"=> "green","color3"=>"blue","color4"=>"yellow");
array_splice($input,1,2,$mas);
echo 
'<pre>'.print_r($input,1).'</pre>'
Цитата:
Array
(
[color1] => red
[0] => orange
[1] => magenta
[color4] => yellow
)
kilogram вне форума Ответить с цитированием
Старый 09.05.2012, 15:54   #6
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Ещё небольшое уточнение. Почему если заменить это:

Код:
array_splice($input,1,2,$mas);
echo '<pre>'.print_r($input,1).'</pre>';

на это


Код:
$d = array_splice($input,-2,2,$mas);
echo '<pre>'.print_r($d,1).'</pre>';
Почему обрезания значений элементов не произойдет, а выведет просто последние 2 элемента массива без изменений?
Значения последних 2-ух элементов массива $input не меняются почему то

Последний раз редактировалось kilogram; 09.05.2012 в 15:59.
kilogram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Php. Построчное чтение из файла в массив Leshiy80 PHP 9 30.10.2014 12:45
PHP, MYSQL чтение записей Delphinchik PHP 2 08.12.2010 20:03
Запуск и чтение ответа от php.exe Vov Общие вопросы Delphi 3 30.07.2010 07:13
Правильное чтение из файла! nerdo Общие вопросы C/C++ 6 30.04.2010 02:37
Запрет на чтение .php файла Linel PHP 3 10.03.2010 18:15