Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
3 / 3 / 1
Регистрация: 24.03.2013
Сообщений: 304
1

Ошибка в цикле foreach

18.01.2017, 18:23. Показов 1060. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите найти ошибку в цикле, говорит,то что неверный аргумент


PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Мой первый блог</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="bootstrap.css">
</head>
<body>
    <div class='container'>
        <h1>Мой первый блог</h1>
        <div>
            <?php foreach($articles as $a):?>
            <div class='article'>
                <h3><a href="article.php?id=<?=$a['id']?>"><?=$a['title']?></h3>
                <em>Опубликовано: <?=$a['date']?></em>
                <p><?=$a['content']?></p>
            </div>
            <?php endforeach ?>
        </div>
 
        <footer>
            <p>Мой первый блог<br> 2017</p>
        </footer>
        
    </div>
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2017, 18:23
Ответы с готовыми решениями:

Ошибка в цикле foreach
Добрый день, уважаемые форумчане. Помогите, пожалуйста, разобраться с ошибкой в строке 46...

Доступ к переменной в цикле foreach
Здравствуйте! Есть ассоциативный массив $Arr = array('k1'=&gt;$V1, 'k2'=&gt;$V2, 'k3'=&gt;$V3...); В этом...

доступ к объекту в цикле foreach
имеется массив который состоит из вот таких объектов, как мне получить доступ внутри объекта? ...

Вывод карусели bootstrap в цикле foreach
Все здравствуйте. Столкнулся с проблемой вывода бутстраповской карусели в цикле foreach, если...

4
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
18.01.2017, 18:26 2
Цитата Сообщение от Dimon3x Посмотреть сообщение
неверный аргумент
Что лежит в переменной $articles? И в дополнение приведите текст ошибки.
0
3 / 3 / 1
Регистрация: 24.03.2013
Сообщений: 304
18.01.2017, 18:38  [ТС] 3
models/articles.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
    function articles_all(){
        $art = array("id"=>1, "title"=>"Заголовок 1", "date"=>"2015-01-01", "content"=>"Контент 1");
        $art2 = array("id"=>2, "title"=>"Заголовок 2", "date"=>"2015-01-01", "content"=>"Контент 2");
        
        $arr[0] = $art1;
        $arr[1] = $art2;
    }
    
    function articles_get($id){
        return array("id"=>1, "title"=>"Это простой заголовок", "date"=>"2015-01-01", "content"=>"Здесь будет статья");
    }
    
    function articles_new($title, $date, $content){
        
    }
    
    function articles_edit($id, $title, $date, $content){
        
    }
    
    function articles_delete($id){
        
    }
?>
Добавлено через 1 минуту
index.php

PHP
1
2
3
4
5
6
    require_once("database.php");
    require_once("models/articles.php");
    
    $articles = articles_all();
    
    include("view/articles.php");
Добавлено через 3 минуты
Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\localhost\blog\view\articles.php on line 13
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
18.01.2017, 18:52 4
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

Dimon3x, метод articles_all() не возвращает никакое значение. Добавьте в конец метода return arr;
0
3 / 3 / 1
Регистрация: 24.03.2013
Сообщений: 304
18.01.2017, 19:12  [ТС] 5
Спасибо, помогло, а можете помочь разобраться, почему, на главной странице выводится только вторая статья, а не все?

Структура

models
view
article.php
index.php



index.php

PHP
1
2
3
4
5
6
7
<?php
    require_once("models/articles.php");
    
    $articles = articles_all();
    
    include("view/articles.php");
?>
article.php

PHP
1
2
3
4
5
6
7
<?php
    require_once("models/articles.php");
    
    $articles = articles_get($_GET['id']);
    
    include("view/article.php");
?>
models/articles.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
    function articles_all(){
        $art = array("id"=>1, "title"=>"Заголовок 1", "date"=>"2015-01-01", "content"=>"Контент 1");
        $art2 = array("id"=>2, "title"=>"Заголовок 2", "date"=>"2015-01-01", "content"=>"Контент 2");
        
        $arr[0] = $art1;
        $arr[1] = $art2;
        
        return $arr;
    }
    
    function articles_get($id){
        return array("id"=>1, "title"=>"Это простой заголовок", "date"=>"2015-01-01", "content"=>"Здесь будет статья");
    }
    
?>
view/article.php

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Мой первый блог</title>
</head>
<body>
    <div class='container'>
        <h1>Мой первый блог</h1>
        <div class='article'>
            <div>
                <h3><?=$article['title']?></h3>
                <em>Опубликовано: <?=$article['date']?></em>
                <p><?=$article['content']?></p>
            </div>
        </div>
 
        <footer>
            <p>Мой первый блог<br> 2017</p>
        </footer>
        
    </div>
</body>
</html>
view/articles.php

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Мой первый блог</title>
</head>
<body>
    <div class='container'>
        <h1>Мой первый блог</h1>
        <div>
            <?php foreach($articles as $a):?>
            <div class='article'>
                <h3><a href="article.php?id=<?=$a['id']?>"><?=$a['title']?></a></h3>
                <em>Опубликовано: <?=$a['date']?></em>
                <p><?=$a['content']?></p>
            </div>
            <?php endforeach ?>
        </div>
 
        <footer>
            <p>Мой первый блог<br> 2017</p>
        </footer>
        
    </div>
</body>
</html>
0
18.01.2017, 19:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2017, 19:12
Помогаю со студенческими работами здесь

Вернуться на шаг назад в цикле foreach
можно ли в цикле foreach вернуться на шаг назад? в нете полезного ничего ненашел, один только...

Разделитель в конце имён в цикле foreach
Здравствуйте уважаемые программисты, помогите решить одну проблемку:)есть список имён в массиве...

Экранирование HTML тэгов в цикле foreach
Для формирования списка заказанных товаров и отправки его на почту имеется следующий код: ...

Как создать ассоциативный массив в цикле foreach?
Здравствуйте! Как можно создать ассоциативный массив внутри цикла? Сейчас у меня одномерный массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru