Задать вопрос
@hdtor

Как можно сделать такой массив?

Всем привет. Нужно средствами foreach при выходе получить такой массив. То есть создать такой массив через foreach.
$array = array("one" => "two", "three" => "four");
Как это можно сделать? Пробую по разному, но массив создается с ключами, с которыми я потом могу не работать. Как можно сделать без ключей?
  • Вопрос задан
  • 206 просмотров
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Во-первых: Средствами foreach массивы обходятся, а не формируются. Можно, конечно внутри цикла проводить манипуляции с элементами массива, но результат может быть не предсказуем.
Во-вторых: Если вы хотите сформировать циклом такой массив, то нужно обходить один массив и формировать другой.
В-третьих: Пользуясь "во-вторых" придётся манипулировать с внутренним указателем массива ( в частности функцией next()) раз вы задаёте подобные вопросы. то вы стопудово накосячите там и запутаетесь. Лучше используйте for.
В-четвертых: Причём тут ООП? :)
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
$arr = [];
for ($i = 1; $i < 10; $i += 2) {
    $arr[$i] = $i + 1;
}
/* 
array(5) {
  [1] =>
  int(2)
  [3] =>
  int(4)
  [5] =>
  int(6)
  [7] =>
  int(8)
  [9] =>
  int(10)
}
*/
Ответ написан
Комментировать
$array = array("one" => "two", "three" => "four");
foreach ($array as $key => $value) {
    // при первой итерации будет $key = "one", а $value = "two"
    // при второй итерации будет $key = "three", а $value = "four"
    // и делайте с ними что хотите
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы