Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 3
Регистрация: 04.03.2012
Сообщений: 126
1

Правильное чтение документации на PHP

09.05.2012, 13:18. Показов 1770. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
PHP
1
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
Как читать правильно эту строку в документации PHP? Первый параметр означает, что переменная должна передаваться как массив, а вот второй параметр загадочно как-то, расшифруйте.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2012, 13:18
Ответы с готовыми решениями:

Yii. Расширение Elrtef с php в assets. Правильное чтение
Здравствуйте. Я новичок в Yii. Подключаю расширение elrte + elfinder (называется elrtref) для...

Чтение технической документации
Как учить английский язык, что бы соответствовать уровню чтения технической документации, мб ктот...

Правильное чтение из файла!
Помогите пожалуйста, уже опробовал все((( Суть задачи такая, есть файл data.txt в нем есть числа...

Правильное чтение из файла
здравствуйте скажите как правильно произвести чтение из файла если я сохраняю в него так: ...

10
2438 / 2289 / 595
Регистрация: 27.05.2011
Сообщений: 7,814
09.05.2012, 13:26 2
функция
array array_slice ( )
первый параметр массив
array $array ,
второй сдвиг ( число)
int $offset
потом необезательный числовой параметр длины , по дефолту нуль
[, int $length = NULL ]
потом необезательный булевый параметр ключей , по дефолту фолс
[, bool $preserve_keys = false ]

Добавлено через 5 минут
пс , всё же описывается ниже http://php.net/manual/ru/function.array-slice.php
1
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.05.2012, 13:29 3
Как читать определения функции (прототип)
1
1 / 1 / 3
Регистрация: 04.03.2012
Сообщений: 126
09.05.2012, 13:38  [ТС] 4
То есть при вызове функции array_slice я могу передать этой функции 4 параметра, но обязательно их должно быть как минимум 2?

PHP
1
array_slice ( $array ,2,3, true);
0
5 / 5 / 1
Регистрация: 24.09.2011
Сообщений: 53
09.05.2012, 13:53 5
Да, другие два передавать не обязательно.
1
1 / 1 / 3
Регистрация: 04.03.2012
Сообщений: 126
09.05.2012, 15:00  [ТС] 6
А так чтоб сохранялись ключи при замене существующего массива не получиться?

Код
$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
)
Как сделать чтоб не нумировался ключ с нуля, а подставлялось ассоциативное имя ключа?
0
5 / 5 / 1
Регистрация: 24.09.2011
Сообщений: 53
09.05.2012, 15:03 7
Поппробуйте
PHP
1
array_splice($input,1,count($input),"orange");
заменить на
PHP
1
array_splice($input,1,count($input),"orange", true);
0
1 / 1 / 3
Регистрация: 04.03.2012
Сообщений: 126
09.05.2012, 15:05  [ТС] 8
Выдает такое:
PHP
1
2
3
4
5
6
7
8
Warning: array_splice() expects at most 4 parameters, 5 given in C:\www\htdocs\test.ru\www\index.php on line 3
Array
(
    [color1] => red
    [color2] => green
    [color3] => blue
    [color4] => yellow
)
0
5 / 5 / 1
Регистрация: 24.09.2011
Сообщений: 53
09.05.2012, 15:14 9
Прочитай документацию по этой функции еще раз, ты все параметры перепутал.
0
1 / 1 / 3
Регистрация: 04.03.2012
Сообщений: 126
09.05.2012, 15:54  [ТС] 10
Та я прочитал, там пишется что вроде меняются все ключи с нуля нумеруются при замене. Я так понял нельзя изменить на ключи массива с их значениями, можно только значения.

Добавлено через 3 минуты
С документации:
Обратите внимание, что числовые ключи в массиве input не сохраняются.
Добавлено через 2 минуты
PHP
1
2
3
4
$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
)
Добавлено через 29 минут
Ещё небольшое уточнение. Почему если заменить это:

PHP
1
2
array_splice($input,1,2,$mas);
echo '<pre>'.print_r($input,1).'</pre>';

на это


PHP
1
2
$d = array_splice($input,-2,2,$mas);
echo '<pre>'.print_r($d,1).'</pre>';
Почему обрезания значений элементов не произойдет, а выведет просто последние 2 элемента массива без изменений?
Значения последних 2-ух элементов массива $input не меняются почему то
0
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.05.2012, 16:01 11
Цитата Сообщение от kilogram Посмотреть сообщение
Почему
Потому что сабж. Функция array_splice() возвращает вырезанный кусов исходного массива.
1
09.05.2012, 16:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2012, 16:01
Помогаю со студенческими работами здесь

Правильное чтение книг!!!
Недавно стал замечать, что чем больше читаю тем хуже зрение! Понял что читаю неправильно, задался...

Правильное чтение из cmd
Привет, всегда юзал для себя ReadToEnd() без всяких запар, все работало, но на msdn встретил такой...

Правильное подключение, чтение и запись БД
Понимаю что тема несколько &quot;заезжена&quot;, но все же. У меня приложение должно уметь подключаться к БД...

Правильное чтение символов в динам. массив
Ошибка скорей всего в синтаксисе. Если надо, могу и все исходники выложить хэдэр class Cow {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru