2012-04-25 15 views
-1

配列の値を取得したい。 これは私の配列値である:PHPを使って配列値を取り出す方法

overlay.txt:

{"title":"sss","description":"sss","code":"sss"} 
{"title":"trtr","description":"trtr","code":"tyrytr"} 
{"title":"ret54","description":"56tr","code":"ty76"} 
{"title":"rgfdg","description":"dfgdfg","code":"dfgdfg"} 
{"title":"asfafdsf","description":"sdfsdf","code":"sdfsdfsdf"} 

これは私のコードです:これはworking.whyされていませんか? overlay.txtファイルから値を取得する方法。 私はすべてのタイトル価値を得ていませんでした。 overlay.txtからタイトル値を取得する方法がわかりません $タイトルが空です。 ここで、$ title値を取得するためにコードを変更したいとします。

$info = array(); 
    $folder_name = $this->input->post('folder_name'); 
    $info['title'] = $this->input->post('title'); 
    $info['description'] = $this->input->post('description'); 
    $info['code'] = $this->input->post('code'); 
    $json = json_encode($info); 
    $file = "./videos/overlay.txt"; 
    $fd = fopen($file, "a"); // a for append, append text to file 
    fwrite($fd, $json); 
    fclose($fd); 
    $filecon = file_get_contents('./videos/overlay.txt', true); 
    $this->load->view('includes/overlays',$filecon); 

    //overlays page; 
    foreach($filecon as $files) 
    { 
     $title=$files['title']; 
     echo $title; 
    } 
+1

「これは動作していません」について詳しく説明する必要があります。 –

+0

私はあなたがものを混ぜていると思います。あなたのjsonコンテンツはajaxによってPHPに送られますか? "not working"は '$ json'がnullであることを意味しますか? –

+0

overlay.txtから値を取得するには、ok.how file.send me PHPコード。 –

答えて

0

は完全にJSON形式をoverlay.txtます

[ 
    {"title":"sss","description":"sss","code":"sss"}, 
    {"title":"trtr","description":"trtr","code":"tyrytr"}, 
    ... 
] 

と、この試してみてください。

$raw = file_get_contents('./videos/overlay.txt', true); 
$this->load->view('includes/overlays', array("filecon" => json_decode($raw))); 

オーバーレイページ:ビューファイルで$fileconを使用したい場合は

<?php 
foreach($filecon as $files) { 
    echo $files['title']; 
} 
?> 

を、
キー "filecon"が0の配列を設定しますの第2引数。
http://codeigniter.com/user_guide/general/views.html

+0

いいえ、応答なし –

+0

これは非常に基本的なパターンです。私はあなたがそれぞれのプロセスがうまくいくかどうかチェックするべきだと思います。 file_get_contentsは問題ありませんか? $ this-> load-> view()で単純変数を設定するとうまくいきますか? – tosin

+0

私のコードを見てください:これは正しいですか? \t \t $ jsonObjects = file( './ videos/overlay.txt'); foreach($ jsonObjects as $ json){ $ array = json_decode($ json、true); $ prints = $ array ['title']; echo $ prints; } –

1

いくつかの点であなたがPHPの配列に再びデコードそれに必要なので、あなたは、JSONへエンコーディングあなたの配列です。実際にはファイル内にいくつかのJSONオブジェクトがあるので、それぞれを個別にデコードする必要があります。 を、それは常に行ごとにJSONオブジェクトだと仮定すると、これはやる:

$jsonObjects = file('overlay.txt', FILE_IGNORE_NEW_LINES); 

foreach ($jsonObjects as $json) { 
    $array = json_decode($json, true); 
    echo $array['title']; 
    ... 
} 

シリアル化されたJSON内の改行がある場合、これは非常に迅速に解除されます、例えば:

{"title":"ret54","description":"foo 
bar","code":"ty76"} 

をそのデータを格納する方法はあまり信頼性がありません。

+0

これは動作しません。 –

+1

もっと正確にすることはできますか? "うまくいかない"とは、プログラマーが使用する問題の説明ではありません。 – deceze

+0

ok.t​​haは非常にnice.itは働いています。 –

関連する問題