배열로 변환해야하는 아래와 같은 파일이 있습니다.
ABC 라인, 번호, 1 개의 DEF 번호, 2, 라인 GHI 3, 라인, 번호
각 줄을 가져 와서 배열의 값으로 바꿀 수 있지만 제가해야 할 일은 처음 3 개의 문자를 키로 변환 한 다음 나머지 줄을 값으로 바꾸는 것입니다.
그래서 내 예상 배열은 다음과 같습니다.
Keys | Values
----------------------------
ABC | Line, Number, One
DEF | Number, Two, Line
GHI | Three, Line, Number
솔직히 어디서부터 시작해야할지 잘 모르겠습니다. 처음 세 글자 만 가져와 나머지 줄의 키로 바꾸는 방법을 찾을 수 없었습니다.
다음과 같은 코드로 시작했습니다.
<?php
echo "Name<br/>";
$file = "hw3.txt";
$f1 = fopen($file, 'r');
$array = array();
?>
이것은 당신을 위해 작동합니다.
파일을 file()
. 그런 다음 배열을 array_walk()
살펴보고 각 값의 처음 3자를 가져 와서 배열에 추가합니다 $keys
. 그 후 값에서 처음 3자를 제거 할 수 있습니다.
결국 단지에서 array_combine()
당신 $keys
과 배열 $arr
, 예를 들어,
<?php
$arr = file("file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$keys = [];
array_walk($arr, function(&$v, $k)use(&$keys){
$keys[] = substr($v, 0, 3);
$v = substr($v, 3);
});
$arr = array_combine($keys, $arr);
print_r($arr);
?>
산출:
Array
(
[ABC] => Line, Number, One
[DEF] => Number, Two, Line
[GHI] => Three, Line, Number
)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다