Массив в массиве

m1ko

Создатель
Регистрация
15 Авг 2010
Сообщения
42
Реакции
3
Вообщем возник такой вопрос

в представлении выводится контент таким образом
PHP:
<?php

    foreach($data['updates'] as $row)
    {
        echo '<h1>'.$row['title'].'</h1><p>'.$row['content'].'</p><small><p>'.$row['author'].'</a></p></small><br />';
    }

?>

Это сам массив в модели

PHP:
  public function get_content()
    {  
    return array(
          
            array(
                'title' => 'Птичек увы Нет лия правый дев жертвы. Ни древних надежда Да поелику Во страждя Аз явленья на те ст Покрыть ИЗ. кто. Мы ли ты От Не ей уз. По от По От мрачным объятие он солнцев гл. .',
                'content' => 'Око блистать вот Иль Сердечно Увы меж стремишь жив щит взгремел чьи Проходят. . кто. . Кисов Твоем хляби чисту падши вкруг. То от ее да Кто же ты От.

Птичек увы Нет лия правый дев жертвы. Ни древних надежда Да поелику Во страждя Аз явленья на те ст Покрыть ИЗ. кто. Мы ли ты От Не ей уз. По от По От мрачным объятие он солнцев гл. . кто. Ея ИЗ ум Ах мы. Муз Создателю униженных Вся ваш Вам действует раздается Мелькнуть лес.

Хожу Росс Сама жару белы мнил. Ли се уж уз же. Пощады Вершит тирана теснят тмится законе. Ль ни ковчегом пророках Но То ея ад Их мертвыми Кровавые. Благостию раз возвестит вскрыться Христовой клевещите дни моя суд случиться. Арф Тех вой паки миры Вам сей нами нам полн. Дай Лук Кто чья иль том мои моя ней. Ласточка крестном вознесся происшел небесных священну. Его Дум Глядит там тон вас войдем Пускай рай следит чтя. Век Зрю чту сын.

. Кончил суетны зверей самого святую. Ах им Ту же Слиянный пустынна глупость ея Неверных слабость се Да Не. . Риз Дол Мое имя чей Дни. Остротой покорять премудру называем Разврату цепенеет. Ищущий нельзя скотам червям состав. Чтя БОГ нам вне. Уме чад без пар душ дар.

Вой Сам Иль бег Ему. . Тех перла сие тел вер Скажу Вот детей сей слаба холмы пою звуку. Имя Умудряйся ополчатся ини Кои мысленные прольется Сии начертать пал. Тул чтя Вся лжи. Братия милует клочья. .',
                'author' => 'avtor',
                'date' => '12-04-2013'
            ),
            array(
                'title' => 'asdasdasdasdasdasd',
                'content' => 'asdasdasdasdasdsa подъем иностранцами. Иногдаasd asd asd sa das dтелей Airbnb кидали наa sdas dasd asdщи, но об этом в другой раз. ЦП попался..',
                'author' => 'avtor',
                'date' => '29 ноя 2013, 08:18'
            ),
            // todo
        );
    }

А это контроллер
PHP:
function index() {
        $data["updates"] = $this->model->get_content();
        ...
}

В контроллере я написал функцию Cut() которая режет длинный текст в представлении это $row['content'] но он находится в массиве $data['updates']
Как мне урезать длину $row['content'] этой функцией
Кого смущает текст он рандомно был взять из гугла))
 
Последнее редактирование:
PHP:
$row['content'] = mb_substr($row['content'], 0, 350, 'utf-8');
 
  • Нравится
Реакции: m1ko
так в чём проблема?.. всё правильно вам написали..
PHP:
foreach($data['updates'] as $row)
{
    $row['content'] = mb_substr($row['content'], 0, 350, 'utf-8');

    echo '<h1>'.$row['title'].'</h1><p>'.$row['content'].'</p><small><p>'.$row['author'].'</a></p></small><br />';
}

ну или к $data["updates"][0]['content'] в контроллере аналогично применяете..
 
  • Нравится
Реакции: m1ko
так в чём проблема?.. всё правильно вам написали..
PHP:
foreach($data['updates'] as $row)
{
    $row['content'] = mb_substr($row['content'], 0, 350, 'utf-8');

    echo '<h1>'.$row['title'].'</h1><p>'.$row['content'].'</p><small><p>'.$row['author'].'</a></p></small><br />';
}

ну или к $data["updates"][0]['content'] в контроллере аналогично применяете..
Я говорил что мне нужно функцию применить к переменной, а не тупо на ней урезать текст) позже ваш способ попробую)
 
вы возвращаете массив, а не объект.. т.ч. других вариантов (типа $foo->bar->cut()) у вас нет..
 
  • Нравится
Реакции: m1ko
А что если так:

function cut ($array) {
for ($i= 0; $i < count($array); $i++) {
$array[$i]['content']=mb_substr($array[$i]['content'], 0, 350, 'utf-8');
}
return $array;
}

//Использование:
// $content = $this->model->get_content();
// $data["updates"] =$this->model->cut($content);
 
Последнее редактирование:
у меня уже прописано $data["updates"] = $this->model->get_content();
Ну тогда так
$data["updates"] = $this->model->get_content();
$data["updates"] =$this->model->cut($data["updates"]);
На выходе в $data["updates"] ячейка 'content' будет с урезаным текстом
 
Последнее редактирование:
Назад
Сверху