>백엔드 개발 >PHP 튜토리얼 >Foreach 루프 내에서 PHP 배열 값을 올바르게 수정하려면 어떻게 해야 합니까?

Foreach 루프 내에서 PHP 배열 값을 올바르게 수정하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-15 04:59:32751검색

How Can I Correctly Modify PHP Array Values Within a Foreach Loop?

Foreach 루프에서 PHP 배열 값 변경(중복 수정)

다차원 배열에서 foreach 루프를 사용하여 각 요소를 순회하면 다음과 같은 결과가 나타날 수 있습니다. 원본 배열을 수정하려고 할 때 복잡성이 발생합니다.

다음 사항을 고려하세요. 예:

$fields = [
    "names" => [
        "type" => "text",
        "class" => "name",
        "name" => "name",
        "text_before" => "name",
        "value" => "",
        "required" => true,
    ]
];

이제 필수 입력 사항이 채워졌는지 확인하는 함수가 있다고 가정해 보겠습니다.

function checkForm($fields) {
    foreach ($fields as $field) {
        if ($field['required'] && strlen($_POST[$field['name']]) <= 0) {
            $fields[$field]['value'] = "Some error"; // Here's the issue
        }
    }
    return $fields;
}

문제가 있는 줄은 $fields[$field]['value'입니다. ] = "일부 오류";. 원래 배열을 수정하려면 아래와 같이 값 대신 현재 요소의 키에 액세스해야 합니다.

foreach ($fields as $key => $field) {
    if ($field['required'] && strlen($_POST[$field['name']]) <= 0) {
        $fields[$key]['value'] = "Some error";
    }
}

$fields[$key]['value 내에서 $key 사용에 유의하세요. '] 외부 루프에서 현재 요소의 키를 참조합니다. 이렇게 하면 원래 배열이 의도한 대로 수정됩니다.

위 내용은 Foreach 루프 내에서 PHP 배열 값을 올바르게 수정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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