php framework, данные работают в var_dump, но не в echo - PullRequest
3 голосов
/ 16 июня 2011

Я так запутался сейчас, я использую php framework воспламенителя кода и передал массив представлению, чтобы я мог получить доступ к переменной из представления.

Так что в этом представлении, когда я делаю

echo var_dump($data["mykey"]);

Я получаю

string '43' (length=2)

, но когда я пытаюсь

echo $data["mykey"];

, я получаю

A PHP Error was encountered
Severity: Notice
Message: Undefined index: "mykey"
Line Number: 8

???

РЕДАКТИРОВАТЬ (похоже, проблема в том, что воспламенитель кода пытается вернуться из представления, чтобы передать его обратно в контроллер в виде строки, это мой вывод, потому что, если я поставлю кубик в конце представления, оно будет работать)

Массив $data такой же, и, на мой взгляд, я пытаюсь сделать echo $data["myfield"][0]["data"]

array
  'myfield' => 
    array
      0 => 
        array
          'data' => string '1'
  'myfieldb' => 
    array
      0 => 
        array
          'data' => string '2'

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

в вашем контроллере

class controller extends CI_Controller {

function hello() {
  $data['world'] = 'world';
  $this->load->view('test');
 }
}

по вашему мнению

<html>
<head></head>
<body>
Hello <?php echo $world ?>;
</body>
</html>

Ключи массива, передаваемые в представления, преобразуются в переменные.

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

<html>
<head></head>
<body>
Your key is: <?php echo $mykey ?>;
</body>
</html>

Вот user_guide

0 голосов
/ 21 июня 2011

Когда я воссоздаю то, что вы дали в PHP

<?php

    $array = array(
              'myfield' => 
                array(
                  0 => 
                    array(
                      'data' => '1')),
              'myfieldb' => 
                array(
                  0 => 
                    array(
                      'data' => '2')));

    echo $array['myfield'][0]['data'];

?>

Это нормально.

Эта ошибка, которую вы получаете, означает, что указанный ключ не существует.Я бы сделал print_r($data) и посмотрю, что вы получите.

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