Если не сложно, помогите разобраться с массивами и их выводами. Проблема в том, что простые массивы (ассоциативные или нет) - вывожу без проблем через foreach.
$tasks = [
'Делаю' => ['Личный блог','Изучаю PHP','Изучаю HTML',
],
'Планирую' => ['Освоить Laravel','Освоить YII2'],
'Завершенные задачи' => ['Основы HTML','Основы CSS','Основы MySql']
]
<?php foreach ($tasks as $do => $value):?>
<h2><?=$do?></h2>
<?php foreach ($value as $name): ?>
<?=$name;?>
<?php endforeach; ?>
<?php endforeach; ?>
Но, когда хочу вывести, к примеру, такой вид:
$tasks = [
'Делаю' => [
'title' => 'Личный блог','Изучаю PHP','Изучаю HTML',
'content' => 'Описание','Описание','Описание',
'action' => TRUE,
],
'Планирую' => [
'title' => 'Освоить Laravel','Освоить YII2',
'content' => 'Описание','Описание',
'action' => TRUE,
],
'Завершенные задачи' => [
'title' => 'Основы HTML','Основы CSS','Основы MySql',
'content' => 'Описание','Описание','Описание',
'action' => FALSE,
]
]
Получается только так, что либо выводятся все строки: title , content, action либо появляется ошибка, когда пытаюсь указать какой-либо ключ. Если так пишу, то все строки выводятся:
<?php foreach ($tasks as $do => $value):?>
<h2><?=$do?></h2>
<?php foreach ($value as $name): ?>
<?=$name;?>
<?php endforeach; ?>
<?php endforeach; ?>
Если пытаюсь в переменной $name указать ключ, то ошибка: Warning: Illegal string offset 'title' in
<?php foreach ($tasks as $do => $value):?>
<h2><?=$do?></h2>
<?php foreach ($value as $name): ?>
<?=$name['title'];?>
<?php endforeach; ?>
<?php endforeach; ?>
В итоге хочу получить следующий результат: Когда action = FALSE - задача зачеркнута и находится в списке завершенных задач. Когда action = TRUE - задача в списке "Планирую" или "Делаю".
В данный момент, не получается вывести только title на главной странице, а не весь массив с описание, action и тайтлом.
Для этого можно использовать рекурсивную функцию.
$tasks = [
'Делаю' => [
'title' => 'Личный блог','Изучаю PHP','Изучаю HTML',
'content' => 'Описание','Описание','Описание',
'action' => TRUE,
],
'Планирую' => [
'title' => 'Освоить Laravel','Освоить YII2',
'content' => 'Описание','Описание',
'action' => TRUE,
],
'Завершенные задачи' => [
'title' => 'Основы HTML','Основы CSS','Основы MySql',
'content' => 'Описание','Описание','Описание',
'action' => FALSE,
]
];
function each_array($arr){
foreach($arr as $key => $val){
// к примеру
echo $key.'---';
if(is_array($val)){
each_array($val);
}
else{
echo $val.'<br>';
}
}
}
each_array($tasks);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Добрый день профиСкажите, как с помощью рег выражений, удалить в строке две подряд звездочки? (лучше, если их больше чем одна подряд)
Есть PHP форма отправки файлов на серверПри загрузке файлов на сервер с ПК, скорость загрузки нормальная и все файлы успешно загружаются
Как в mustache подгружать шаблоны из разных папок? Под каждую папку создавать объект Mustache_Engine?