ProgramingTip

연관 배열에 항목 추가

bestdevel 2020. 10. 25. 12:41
반응형

연관 배열에 항목 추가


//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];

루프 이전 :

$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"];

$ 질문을 인쇄해야합니다.

참고 URL : https://stackoverflow.com/questions/5384847/adding-an-item-to-an-associative-array

반응형