2012-01-22 2 views
0

Похоже, что первые 2 ([1] и) и последние 2 ([0] и ['key']) элементы всегда одинаковы, так что в чем смысл?Почему каждая функция php возвращает 4 значения?

<?php 
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese"); 
$bar = each($foo); 
print_r($bar); 
?> 

Array 
(
    [1] => bob 
    [value] => bob 
    [0] => 0 
    [key] => 0 
) 
+2

Некоторые кода? Я не понимаю, каков ваш вопрос ... – lonesomeday

+0

Потому что так оно и работает. –

+0

Но точно такая же информация может быть предоставлена ​​на 50% меньше символов? Почему дублирование информации? – Lars

ответ

1

С числами list могут использоваться только числовые обозначения. Таким образом, можно использовать конструкции типа:

list($key, $val) = each($array); 

и что-то вроде:

$item = each($array); 
echo $item['key']; // key is easier to understand here. 
+0

Спасибо за ответ, но если каждый возвращает массив с ключами [значение] и [ключ], безусловно, делает его ассоциативным массивом и а не числовой индексный массив? – Lars

+0

Список @Lars ищет индикаторы '0' и' 1'. Я сказал числовые знаки, а не числовые массивы. 'php> list ($ a, $ b) = array ('a' => 'b', 'c' => 'd'); PHP Примечание: Неопределенное смещение: 1 в коде оболочки php в строке 1 PHP Примечание: Неопределенное смещение: 0 в коде оболочки php в строке 1 ' – TimWolla

Смежные вопросы