배열 값 얻어오기 채택완료
평상심NZ
3년 전
조회 3,438
안녕하세요.
배열 관련해서 여쭙습니다.
MS Endpoint에서 다운받은 csv 화일을 배열에 넣었습니다.
</p>
<pre>
echo "<pre>"; print_r($dataTbl);echo "</pre>";
</pre>
<p>
결과가
</p>
<pre>
Array
(
[0] => Array
(
[Device ID] => cxxxxxxxxe6a85
[Device name] => DESKTOP-xxxxxxx</pre>
<p>
그런데 첫번째 레코드의 [Device ID] 값을 불러 오면 가져오지 못합니다.
</p>
<p>echo "========>".$dataTbl[0]['Device ID'];</p>
<p>
요리조리 검사해봐도 알 수 없어 여쭙습니다.
삽질이 힘드네요.
감사합니다.
-----
추가:
1. "Device ID"처럼 두 단어로 되어 있지 않은 것은 잘 나옵니다.
2. csv 문서의 형식이 UTF-8 with BOM 인데 이것이 문제가 될까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
sinbi
Expert
3년 전
저번 배르만 님 답변 코드 중에서 아래 코드를 수정해 보세요.
수정 전: $dataTbl = json_decode($dataTbl);
수정 후: $dataTbl = json_decode($dataTbl, true);
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
평상심NZ
3년 전
�
평상심NZ
3년 전
[code]
$file_handler = fopen($filename, "r");
$contents = fread($file_handler, filesize($filename));
fclose($file_handler);
for ($i = 0; $i < 3; $i++){
$bytes[$i] = ord(substr($contents, $i, 1));
}
if ($bytes[0] == 0xef && $bytes[1] == 0xbb && $bytes[2] == 0xbf) {
$file_handler = fopen($filename, "w");
fwrite($file_handler, substr($contents, 3));
fclose($file_handler);
printf("%s BOM removed.<br/>n", $filename);
}
[/code]
인터넷에 어떤 고수분이 남겨두었더군요.
https://www.memorylack.com/solving-bom-of-utf-8-file-encoding-problem-with-php-session-and-header/
이것을 해결하니 또 다른 문제가 생기네요. ㅠㅠ
감사합니다.
$file_handler = fopen($filename, "r");
$contents = fread($file_handler, filesize($filename));
fclose($file_handler);
for ($i = 0; $i < 3; $i++){
$bytes[$i] = ord(substr($contents, $i, 1));
}
if ($bytes[0] == 0xef && $bytes[1] == 0xbb && $bytes[2] == 0xbf) {
$file_handler = fopen($filename, "w");
fwrite($file_handler, substr($contents, 3));
fclose($file_handler);
printf("%s BOM removed.<br/>n", $filename);
}
[/code]
인터넷에 어떤 고수분이 남겨두었더군요.
https://www.memorylack.com/solving-bom-of-utf-8-file-encoding-problem-with-php-session-and-header/
이것을 해결하니 또 다른 문제가 생기네요. ㅠㅠ
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이미 해보았습니다. " 의 문제가 아니고 UTF-8 BOM 문서의 문제로 보입니다.
VSCODE에서 보니 UTF-8 with BOM 형식으로 되어 있네요.
다운받은 화일의 형식을 바꿔줘야하는데...
PHP에서 가능한지 찾아보고 있습니다.
MS는 왜 이런 형식을 사용하는지....
감사합니다.