programing

연결 배열에 항목 추가

shortcode 2022. 10. 5. 21:58
반응형

연결 배열에 항목 추가

//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 += array($category => $question);

php 5.4+에서 실행 중인 경우

$data += [$category => $question];

네가 원하는 것 같아$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();

루프로 이동합니다.

$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을 출력합니다.

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

반응형