@JTester

Почему выводит только 1 элемент?

$arr = array(
    "classes" => array(
        "test1" => array(
            "name" => "тест1"    
        ),
        "test2" => array(
            "name" => "тест2"    
        )   
    )   
);
$msg = "Название: %NAME%";

foreach ($arr['classes'] as $name => $data) {
    $msg = str_replace("%NAME%", $name, $msg . "<br>");
}
echo $msg;


Выводит он только "Название: test1", а должен и второй еще вывести. В цикле все нормально работает, но мне нужно вывести результат за цикл)))

Что тут не так?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
t-alexashka
@t-alexashka
Сразу пишу legacy код
в цикле сделайте $msg .= вместо просто =

иначе вы ее перезаписываете просто.
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
$arr = array(
    "classes" => array(
        "test1" => array(
            "name" => "тест1"    
        ),
        "test2" => array(
            "name" => "тест2"    
        )   
    )   
);
$msg = "Название: %NAME%";

$result = "";
foreach ($arr['classes'] as $name => $data) {
    $result .= str_replace("%NAME%", $name, $msg . "<br>");
}

echo $result;
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы