2013-04-30 91 views
1

爲什麼會收到以下錯誤未定義JSON變量

一個PHP錯誤遇到嚴重性:警告 消息:未定義 變量:JSON文件名:觀點/ search_page.php 行號:8

一個PHP錯誤遇到嚴重性:警告消息:試圖讓非目標文件名的 屬性:意見/ search_page.php行號:8

一個PHP錯誤w ^如遇到嚴重性:警告消息:的foreach()文件名提供了無效 論點:視圖/ search_page.php線 數量:8

與此代碼?

的search.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Search extends CI_Controller { 

    public function index() 
    { 

     $json = json_decode(file_get_contents('http://search.twitter.com/search.json?q=to%3astackexchange')); 

     $this->load->view('search_page', $json); 
    } 
} 

/* End of file search.php */ 
/* Location: ./application/controllers/search.php */ 

search_page.php

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Twitter Test</title> 
</head> 
<body> 
<?php foreach ($json->results as $result): ?> 
    <h2><?php echo $result->from_user; ?></h2> 
<?php endforeach ?> 
</body> 
</html> 
+1

JSON沒有變量。 – 2013-04-30 21:45:37

+1

@ T.J.Crowder Huh? – Madbreaks 2013-04-30 21:46:11

+1

@Madbreaks:標題是*「CodeIgniter視圖中未定義的JSON變量」* [JSON](http://json.org)沒有變量。但是,這個問題似乎是關於一個名爲'$ json'的PHP變量,所以也許*「未定義的PHP變量'json' ...」* – 2013-04-30 21:47:47

回答

4

你需要你傳遞($json)的變量分配給一個名稱( 「JSON」)

$this->load->view('search_page', array('json' => $json)); 

也許更明顯的例子:

$this->load->view('search_page', array('myNeatObject' => $json)); 

// ...then, in your view, you could 

<p>This is the JSON: <?php echo print_r($myNeatObject, true) ?></p> 

這就是你如何命名變量視圖中的訪問。