2017-02-06 1 views
0

새로운 점을 알고 배열을 채우고 에코하는 방법을 잘 모르겠습니다. 누군가 나를 도울 수 있습니까? :)PHP 반향 배열?

첫 번째 배열, 내 notes.txt 파일에서 정보를 검색하고 싶습니다. 내가 두 선언? 어쨌든

$test = array(); 
$test[] = json_decode(file_get_contents($file), TRUE); 

을 필요로하는 경우 임 확실하지,이 배열에 요소를 추가하는 코드는, 사용자로부터 입력 :

$name = guestbook_input($_POST['name']); 
$comment = guestbook_input($_POST['comment']); 

$test[] = [ 
    'name' => $name, 
    'comment' => $comment, 
    'ip' => $_SERVER['REMOTE_ADDR'], 
    'time' => date("y-m-d H:m") 
]; 

// Write input to file 
file_put_contents($file, json_encode($test)); 

이 코드는 생각 (잘 작동) 파일에 기록합니다.

마지막으로 필자는이 같은 테이블에 배열을 에코하려고 :

<?php 
$getfile = json_decode(file_get_contents('./notes.txt'), TRUE); 
     foreach ($getfile as $value): ?> 
     <tr> 
      <?php 
       echo '<td>'; 
       echo $value['name']; 
       echo '</td>'; 
       echo '<td>'; 
       echo $value['comment']; 
       echo '</td>'; 
       echo '<td>IP:'; 
       echo $value['ip']; 
       echo "<br>Tid:"; 
       echo $value['time']; 
       echo '</td>'?> 

     </tr> <?php endforeach; ?> 

이 코드는 인쇄 요소를 수행하지만 내 방명록에 처음 입력. 이것이 올바른 방법인지 아닌지는 잘 모르겠지만 누군가가 이것을 도와 줄 수 있기를 바랍니다. 그래서 나는이 권리를 얻을 수 있습니까?!

+0

file_put_contents와 세 번째 매개 변수 FILE_APPEND ... – donald123

+0

을 보시고 귀하의 질문에 print_r ($ getfile)을 표시하십시오. – rahulsm

+0

print_r ($ getfile)이 없습니다. 어쩌면 그게 문제 야? – Isla

답변

-1

먼저 선언과 할당 이 필요하지 않습니다. 먼저 변수를 선언하려면으로 지정해야하지만 그렇게하는 것이 좋습니다. 그러나 함수 호출에서는 실제로 에 전체 결과를 할당합니다. $test[]은 단순히 다음 숫자 인덱스를 사용하여 새 요소를 작성하기 때문입니다. 사용자 입력을 할당 한 코드가 올바르므로 올바르게 출력됩니다.

-1

파일에서 읽은 배열을 배열 $test의 단일 요소에 넣습니다.
그런 다음 새 항목을 두 번째 요소로 추가합니다.

당신은으로 배열 초기화해야합니다 : 그것은 그래서,

$test = array(); 
$test[] = json_decode(file_get_contents($file), TRUE); 

기능 json_decode(), 당신이 그것을 전화하는거야으로는, 배열을 반환

$test = json_decode(file_get_contents($file), TRUE);