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

Форум PHP

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

 

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

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

тема: Помогите с функцией each() в PHP
 
 автор: Тарас   (28.11.2010 в 13:32)   письмо автору
 
 

Помогите с функцией each()

<?php
$name = array ("sacha" ,"masha");
echo "<pre>";
$each_name = each($name);
print_r($each_name);
$each_name = each($name);
print_r($each_name);
echo "</pre>";
?>

Обясните принцип его действия...

each($arr) - возвращает текущее значение массива $arr , на которое указывает курсор , и переводит его на следующую позицию. //так поясняется в книге

и еще что такое курсор?

  Ответить  
 
 автор: sim5   (28.11.2010 в 14:04)   письмо автору
 
   для: Тарас   (28.11.2010 в 13:32)
 

Эта функция возвращает текущую пару ключ/значение из массива array и смещает его указатель (это и есть курсор) на следующий элемент массива. Эта пара возвращается в виде массива из четырёх элементов, со следующими ключами: 0, 1, key и value. Элементы 0 и key содержат ключ элемента массива, а элементы 1 и value содержат его значение, например:
Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)
Что еще пояснять надо?

  Ответить  
 
 автор: Тарас   (28.11.2010 в 16:46)   письмо автору
 
   для: sim5   (28.11.2010 в 14:04)
 

но на что указывает етот указатель????

  Ответить  
 
 автор: Тарас   (28.11.2010 в 16:46)   письмо автору
 
   для: sim5   (28.11.2010 в 14:04)
 

но на что указывает етот указатель????

  Ответить  
 
 автор: sim5   (28.11.2010 в 17:14)   письмо автору
 
   для: Тарас   (28.11.2010 в 16:46)
 

Не понятно да? А что из себя представляет массив? Чего он в себе содержит?

  Ответить  
 
 автор: Tonik992   (28.11.2010 в 17:17)   письмо автору
 
   для: Тарас   (28.11.2010 в 16:46)
 

чтоб лучше понять, посмотри пример.
Вот некий прообраз понятия указателя массива
<?php
$transport 
= array('foot''bike''car''plane');
$mode current($transport); // $mode = 'foot';
$mode next($transport);    // $mode = 'bike';
$mode current($transport); // $mode = 'bike';
$mode prev($transport);    // $mode = 'foot';
$mode end($transport);     // $mode = 'plane';
$mode current($transport); // $mode = 'plane';
?> 


"У каждого массива имеется внутренний указатель на его "текущий" элемент, который инициализирован первым элементом, добавленным в массив."

  Ответить  
 
 автор: Тарас   (28.11.2010 в 17:45)   письмо автору
 
   для: sim5   (28.11.2010 в 14:04)
 

А где тут взялся ключ [value] и [key]...
Я думал что если each() возвращает текущую пару ключ/значение то
будет

Array
(
     [0] => sacha
     [1] => masha
)


Почему оно выводит именно ето????


Array 

    [1] => bob 
    [value] => bob 
    [0] => 0 
    [key] => 0 
)

  Ответить  
 
 автор: sim5   (28.11.2010 в 18:13)   письмо автору
 
   для: Тарас   (28.11.2010 в 17:45)
 

Потому, что так разработчики решили - возвращать информацию об элементе массива в виде массива как с индексными, так и ассоциативными ключами. А чтобы не думать впредь ошибочно, читайте внимательно мануал, там ведь все написано.

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

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