Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сечения масива в PHP
 
 автор: Тарас   (09.12.2010 в 20:58)   письмо автору
 
 

<?php
$arr = array("красный", "зеленый", "синий", "желтый");
array_splice($arr, 1, count($arr), "оранжевый"); // тут вместо count($arr) подставляется значение 4 так почему выводит только один елемент а не 4 не считая оранжевый потому что он подставляется???
// $arr == array("красный", "оранжевый")
?>

  Ответить  
 
 автор: Trianon   (09.12.2010 в 21:22)   письмо автору
 
   для: Тарас   (09.12.2010 в 20:58)
 

Пунктуации явно меньше, чем нужно, чтобы понять вопрос.
Это при том, что три вопросительных знака - явно больше, чем требует, собственно, вопрос.

по сути.
array_splice пытается заменить фрагмент с первого по четвертый элемент, на "оранжевый".
Понятно, что получится заменить лишь с первого по третий, ибо их всего четыре.
вот и получается красный, оранжевый.

  Ответить  
 
 автор: Тарас   (09.12.2010 в 21:52)   письмо автору
 
   для: Trianon   (09.12.2010 в 21:22)
 

Там выводит только красный и подставляет оранжевый но но параметр count($arr) возвращает значение 4 значит и выводить должно было 4 елемента а выводит всего лишь два?

  Ответить  
 
 автор: sim5   (10.12.2010 в 05:15)   письмо автору
 
   для: Тарас   (09.12.2010 в 21:52)
 

>но параметр count($arr) возвращает значение 4 значит и выводить должно было 4 елемента...

А если внимательно почитать мануал?

array_splice() удаляет элементы, указанные смещением offset и длиной length из массива input и замещает их элементами массива replacement, если он предоставлен. Функция возвращает массив, содержащий извлечённые элементы.

  Ответить  
 
 автор: Тарас   (10.12.2010 в 20:03)   письмо автору
 
   для: sim5   (10.12.2010 в 05:15)
 

я читал что если значение length положительно то ето число возвращаемых массиве елементов...
а если отрицательное то ето позиция последнего возвращаемого элемента в массиве $arr
а у тебя sim в мануале немного по другому???

  Ответить  
 
 автор: Trianon   (10.12.2010 в 20:03)   письмо автору
 
   для: Тарас   (10.12.2010 в 20:03)
 

ссылку на материал в студию.

Кстати, имеется сильная уверенность, что Вы просто перепутали array_slice и array_splice

  Ответить  
 
 автор: Тарас   (10.12.2010 в 20:05)   письмо автору
 
   для: Trianon   (10.12.2010 в 20:03)
 

у меня книга не електронная)))

  Ответить  
 
 автор: Тарас   (10.12.2010 в 20:07)   письмо автору
 
   для: Тарас   (10.12.2010 в 20:05)
 

пишет "значение аргументов $offset и $length точно такие же как и для функции array_slice()"

  Ответить  
 
 автор: Trianon   (10.12.2010 в 20:16)   письмо автору
 
   для: Тарас   (10.12.2010 в 20:07)
 

так Вы из этой фразы вывод сделали?
А то, что результат у функции ну совсем другой - это побоку?
Вопросы все закончились. Слова - тоже.

  Ответить  
 
 автор: Тарас   (10.12.2010 в 20:36)   письмо автору
 
   для: Trianon   (10.12.2010 в 20:16)
 

лан спасибо)))

  Ответить  
 
 автор: sim5   (10.12.2010 в 20:37)   письмо автору
 
   для: Trianon   (10.12.2010 в 20:16)
 

-

  Ответить  
 
 автор: Trianon   (10.12.2010 в 11:04)   письмо автору
 
   для: Тарас   (09.12.2010 в 21:52)
 

там - это где?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования