>백엔드 개발 >PHP 튜토리얼 >Foreach 루프 내에서 배열 개체를 직접 수정할 수 있나요?

Foreach 루프 내에서 배열 개체를 직접 수정할 수 있나요?

DDD
DDD원래의
2024-12-22 04:28:14884검색

Can I Modify Array Objects Directly Within a Foreach Loop?

Foreach 루프를 사용하여 배열 값 수정

질문:

내에서 처리 중인 현재 개체를 편집할 수 있습니까? foreach 루프?

컨텍스트:

데이터베이스에 연결된 답변이 있는 개체 배열($questions)이 있습니다. 루프 반복 중에 각 질문 개체에 대해 이러한 답변을 가져오려고 합니다.

해결책:

다음을 사용하여 foreach 루프 내에서 현재 개체를 수정할 수 있습니다. 다음 방법 중 하나:

  1. 키 할당:

    foreach($questions as $key => $question){
        $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
    }

    이 방법은 배열 키를 보존하므로 값을 직접 업데이트할 수 있습니다.

  2. 참조 할당:

    foreach($questions as &$question){
        $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
    }

    변수 이름이 참조를 전달하기 전에 앰퍼샌드(&) 추가 루프 내에서 직접 수정이 가능합니다.

권장 사항:

참조 할당 방법은 간결하지만 키 할당 방법은 다음과 같습니다. 다차원 배열에서 예측 가능한 동작을 보장하므로 일반적으로 권장됩니다.

위 내용은 Foreach 루프 내에서 배열 개체를 직접 수정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.