//go through each question
foreach($file_data as $value) {
//separate the string by pipes and place in variables
list($category, $question) = explode('|', $value);
//place in assoc array
$data = array($category => $question);
print_r($data);
}
이것은 데이터의 가치를 대체하기 때문에 작동하지 않습니다. 그래도 각 루프마다 연관 값을 추가하려면 어떻게해야합니까? $file_data
동적 크기를 갖는 데이터의 배열입니다.
답변
나는 당신이 원하는 것 같아요 $data[$category] = $question;
또는 범주를 질문 배열에 매핑하는 배열을 원하는 경우 :
$data = array();
foreach($file_data as $value) {
list($category, $question) = explode('|', $value, 2);
if(!isset($data[$category])) {
$data[$category] = array();
}
$data[$category][] = $question;
}
print_r($data);
답변
간단히 할 수 있습니다.
$data += array($category => $question);
PHP 5.4 이상에서 실행중인 경우
$data += [$category => $question];
답변
for 루프 이전 :
$data = array();
그런 다음 루프에서 :
$data[] = array($catagory => $question);
답변
나는 이것이 오래된 질문이라는 것을 알고 있지만 다음을 사용할 수 있습니다.
array_push($data, array($category => $question));
이것은 array
당신의 현재의 끝에 밀어 넣을 것 array
입니다. 또는 배열 끝에 단일 값을 추가하려는 경우 더 이상 배열이 아닌 다음을 사용할 수 있습니다.
array_push($data,$question);
답변
2d 연관 배열에 추가해야하는 사람이라면 위에 주어진 대답을 사용하고 다음과 같은 코드를 사용할 수도 있습니다.
$data[$category]["test"] = $question
그런 다음이를 호출 할 수 있습니다 (결과를 테스트하려면 다음을 수행하십시오.)
echo $data[$category]["test"];
$ question을 인쇄해야합니다.