Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.05.2012, 13:16
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Правильное чтение документации на PHP
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )


Как читать правильно эту строку в документации PHP? Первый параметр означает, что переменная должна передаваться как массив, а вот второй параметр загадочно как-то, расшифруйте.
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2012, 13:29
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Целое число.
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2012, 13:31
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Как читать в документации второй параметр? Там несколько вложенных квадратных скобок, они сбивают с толку.
Ответить с цитированием
  #4 (permalink)  
Старый 09.05.2012, 13:38
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

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

array_slice ( $array ,2,3, true);
Ответить с цитированием
  #5 (permalink)  
Старый 09.05.2012, 14:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В квадратных скобках пишутся необязательные параметры, да.
Ответить с цитированием
  #6 (permalink)  
Старый 09.05.2012, 15:01
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

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

Код:
$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
)
Как сделать чтоб не нумировался ключ с нуля, а подставлялось ассоциативное имя ключа?
Ответить с цитированием
  #7 (permalink)  
Старый 09.05.2012, 15:30
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

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

$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
)
Ответить с цитированием
  #8 (permalink)  
Старый 09.05.2012, 15:54
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

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

Код:
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 элемента массива без изменений?
Ответить с цитированием
  #9 (permalink)  
Старый 09.05.2012, 15:59
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Значения последних 2-ух элементов массива $input не меняются почему то
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Связь между страницами с javascript и php ... и обратно okrip25 AJAX и COMET 7 09.01.2012 14:43
Запуск выполнения PHP при нажатие на кнопку??? Abibas220 Общие вопросы Javascript 1 05.01.2011 12:05
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23