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

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

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

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


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)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2017, 18:23
Ответы с готовыми решениями:

Ошибка в цикле foreach
Добрый день, уважаемые форумчане. Помогите, пожалуйста, разобраться с ошибкой в строке 46 foreach ($items as &amp;$item) Invalid...

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

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

4
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
18.01.2017, 18:26
Цитата Сообщение от Dimon3x Посмотреть сообщение
неверный аргумент
Что лежит в переменной $articles? И в дополнение приведите текст ошибки.
0
3 / 3 / 1
Регистрация: 24.03.2013
Сообщений: 304
18.01.2017, 18:38  [ТС]
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\vie w\articles.php on line 13
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
18.01.2017, 18:52
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

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

Структура

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2017, 19:12
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru