2014-01-11 3 views
0

Я хотел бы взять первое значение в массиве и использовать его внутри функции. Затем я хотел бы повторить функцию, используя второе значение в массиве. Это должно использовать count(); так что он останавливается, когда он достигает конца массива. Это кажется достаточно простым, но я понятия не имею, как перейти к следующему значению массива без написания отдельной функции. Quick Googling дал что-то около for, но я не уверен, что с этим делать.Сопоставить значения массива (x), затем повторить сценарий (x) раз, каждый раз используя следующее значение в PHP?

ответ

1

Большинство базовых учебников по PHP продемонстрировали бы вам эту языковую конструкцию. Но, ради дружелюбия, PHP включает в себя несколько способов перебора массива и выполнения действия. Учитывайте следующее:

function writeArrayItem($item) { 
    echo $item . '<br>'; 
} 

$array = [1, 2, 3]; 

foreach ($array as $item) { 
    writeArrayItem($item); 
} 

Мы создаем простую небольшую функцию, которая принимает значение, а ECHO - обратно. Затем мы создаем экземпляр объекта массива с тремя значениями: 1, 2 и 3.

После этого мы используем итератор FOREACH PHP для обработки каждого значения в массиве, забрасывая это значение в переменную $ item. Внутри цикла мы вызываем функцию, которую мы ранее объявляли, и передаем ей значение, которое мы хотим, чтобы оно вышло.

Есть другие конструкции контуров, которые вы могли бы использовать, но FOREACH - очень полезный инструмент, когда вы хотите перебирать каждое значение в массиве.

Если вы должны (для школьных целей) использовать count(), то цикл FOR будет вашим выбором. Используйте ту же самую функцию выше, и изменить Еогеасп к этому для кода:

for ($i = 0; $i < count($array); $i++) { 
    writeArrayItem($array[$i]); 
} 

Изменения здесь мы должны вручную отслеживать индекс в массиве и использовать его для получения значения. Мы также используем количество элементов в массиве, чтобы предикатировать, сколько циклов цикла мы будем иметь. Поскольку массивы являются нулевыми на основе индексов, ваше начальное значение обычно 0, и вы хотите, чтобы петли на количество элементов в массиве минус 1.

В этом случае мы используем:

$i < count($array) 

После $ i достигает 2, цикл остановится, потому что мы говорим о цикле, в то время как $ i меньше, чем count ($ array), что равно 3, и потому что при индексе на основе нуля массив [2] фактически является третьим индексом в качестве первого index - массив [0];

Надеюсь, все это поможет!

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