채택완료

배열의 끝에 공백이 붙어옵니다

2015-06-12 (금) 17:58:05 3,547
selTop.php
----------------------
남자
여자
아이
-------------------

<?php
 $menu_arr = array();
 $menu_file = "selTop.php";
 if(($read = @fopen($menu_file, 'r')) === false) exit('읽기 실패');

 while(!feof($read))
 {
    $row = fgets($read);                                      // fgets() 리턴 라인 단위
    array_push($menu_arr, $row);
 }
    $result = array_map('trim', $menu_arr);              // 공백없앰
    fclose($read);
    echo  json_encode($result);
?>

질문>  위 배열의 결과로 <select> 옵션값을 만들면,    "아이" 밑에 한줄 더 공백 값이 만들어 집니다
          물론, 아이 이후 혹은 밑에는 어떤 공백... 등등도 없습니다.
    즉,
          <select>
                  <option>남자
                  <option>여자
                  <option>아이
                  <option>                        // 이부분이 문젠데, 왜만들어지는지 어떻게 하면 없앨 수 있는지요?
          </select>
|

답변 1개

채택된 답변
+20 포인트
2015-06-12 (금) 17:58:58

selTop.php 파일 하단에 [엔터]가 있어서 그럴수도 있을거에요.
while문에서 값이 있을경우에만  $menu_arr에 저장하게 해주시면 됩니다.
$row = trim(fgets($read));
if ($row) array_push($menu_arr, $row);

답변을 작성하려면 로그인이 필요합니다.