Вывод данных с помощью codeigniter - PullRequest
0 голосов
/ 08 марта 2010

Я сделал PHP-функцию, которая возвращает массив, и затем я перемещаю его значение в переменную $ a. Как я могу вывести его на веб-страницу на CodeIgniter?

Ответы [ 5 ]

1 голос
/ 09 марта 2010

В контроллере:

<?php
    class Page extends Controller {

        function index()
        {
            $data['array_var'] = $this->get_some_array(); // this function returned an array
            $this->load->view('name_here', $data);
        }

    }

В представлении:

<?php

foreach ($array_var as $arr):

    echo $arr;

endforeach;

?>

Надеюсь, это ответит на ваш вопрос.


Примечание: переменная $ data не будет отображаться в представлении. CI извлекает эту переменную и возвращает ключи массива как переменные, как в примере.

1 голос
/ 09 марта 2010

Это должно сработать. Не забудьте включить переменную, которую вы хотите загрузить вместе с представлением, как в следующем примере:

class Page extends Controller {

    function index()
    {
        $data['my_var'] = $your_var;
        $this->load->view('name_here', $data);
    }

}
0 голосов
/ 08 марта 2010

Возможно:

print_r($a);

Если вы хотите красивое форматирование:

<code>echo "<pre>";
print_r($a);
echo "
";

Вы могли бы вставить вещи между ними

echo join(",", $a);

Или вы могли бы дать им хорошее форматирование

echo "<ul>";
foreach($a as $k => $v)
{
    echo "<li>" . $k . ":" . $v . "</li>";
}
echo "</ul>";
0 голосов
/ 08 марта 2010

Как я могу вывести его на веб-страницу на CodeIgniter?

Я подозреваю, что вы хотите отправить переменные данные в View. Вы можете сделать так:

class Page extends Controller {

   function index()
   {
      $data['my_var'] = $your_var;
      $this->load->view('name_here');
   }

}

Теперь вы можете получить доступ к $data['my_var'] в вашем представлении в обычном режиме.

0 голосов
/ 08 марта 2010

Это зависит от того, как вы хотите, чтобы ваш вывод.

Учитывая, что у вас есть этот массив:

$a = array(
    'glop', 'test', 'hello', 
);

Самый простой способ отобразить элементы, к которым они присоединяются, используя implode:

echo implode(', ', $a) . '<br />';

Что даст вам:

glop, test, hello


Другим решением было бы зациклить элементы, используя цикл foreach:

echo '<ul>';
foreach ($a as $item) {
    echo '<li>' . htmlspecialchars($item) . '</li>' . "\n";
}
echo '</ul>';

И вы получите этот источник HTML:

<ul><li>glop</li>
<li>test</li>
<li>hello</li>
</ul>

т.е. ненумерованный список.

При этом возможности практически не ограничены, и вы можете получить практически любой вывод, какой захотите.


Если вы просто хотите вывести массив, чтобы посмотреть, что в нем содержится, для отладки, как правило, var_dump и print_r, как правило, полезно:

<code>echo '<pre>';
print_r($a);
echo '
';

даст вам:

Array
(
    [0] => glop
    [1] => test
    [2] => hello
)

А если установить расширение Xdebug , var_dump еще лучше - цвета и все; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...