PHP는 널리 사용되는 오픈 소스 고급 프로그래밍 언어이며 웹 개발에 널리 사용됩니다. 유연성과 사용 용이성으로 인해 많은 웹 사이트 프레임워크, CMS, 블로그 시스템 등에 가장 먼저 선택됩니다. PHP에서는 배열을 처리해야 하는 경우가 많습니다. 이 기사에서는 PHP를 사용하여 2차원 배열의 키를 2차원 배열의 값으로 바꾸는 방법을 보여줍니다.
1. 2차원 배열의 개념
2차원 배열은 배열이며, 각 요소도 배열입니다. 이 하위 배열에는 문자열, 숫자, 부울 값 등 모든 데이터 유형이 포함될 수 있습니다. , 객체 등
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => '제리', '나이' => 28),
array('id' => 1003, '이름' => '앨리스', '나이' => 20)
);
위 코드는 세 개의 요소를 포함하는 2차원 배열입니다. 각 요소에는 각각 사용자의 ID, 이름 및 나이를 나타내는 세 개의 키-값 쌍이 포함되어 있습니다.
2. 배열의 값을 키로 바꿉니다.
때로는 배열의 키-값 쌍의 값을 새 배열의 키로 사용해야 해당 값을 사용하여 쿼리를 수행할 수 있습니다. , 정렬 및 기타 작업. 2차원 배열을 반복한 다음 각 요소의 키-값 쌍을 값이 키인 배열로 변환할 수 있습니다.
예를 들어, 2차원 배열에 있는 각 요소의 id 값을 기반으로 새 배열 키를 만들어야 합니다.
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => '제리', '나이' => 28),
array('id' => 1003, '이름' => '앨리스', '나이' => 20)
);
$newArr = array();
foreach ($users as $user) {
$newArr[$user['id']] = $user;
}
위 코드에서 $users 배열을 순회합니다. 새 배열 키를 각 요소의 id 값으로 설정합니다. 마지막으로 id로 키가 지정된 요소를 포함하는 새 배열을 얻습니다.
3. PHP 내장 함수를 사용한 구현
수동 순회 외에도 PHP 내장 함수 array_column()을 사용하여 2차원 배열의 키 값을 키로 구현할 수도 있습니다.
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => '제리', '나이' => 28),
array('id' => 1003, '이름' => '앨리스', '나이' => 20)
);
$newArr = array_column($users, null, 'id');
위 코드에서 array_column() 함수의 첫 번째 매개변수는 연산이 필요한 2차원 배열이고, 두 번째 매개변수는 변환해야 하는 필드는 여기에서 null을 사용하여 전체 요소를 변환합니다. 세 번째 매개변수는 새 키 값에 해당하는 필드입니다.
4. 실제 사용 사례
위의 구현 방법은 실제 개발에 매우 유용합니다. 예를 들어 전자상거래 웹사이트를 개발할 때 사용자 검색 기록을 기반으로 관련 상품을 추천해야 합니다. 각 제품의 ID, 이름, 가격 등이 연관 배열로 저장되어 있는 제품 테이블이 있다고 가정합니다. 추천 제품 목록을 생성하려면 고객의 검색 기록을 기반으로 이 배열을 조회해야 합니다.
$products = array(
array('id' => 1, 'name' => 'Apple iPhone XS', 'price' => 1059),
array('id' => 2, '이름' => '삼성 갤럭시 S9', '가격' => 939),
array('id' => 3, '이름' => 'Google Pixel 3', '가격' => 799),
array('id' => 4, '이름' => 'Sony Xperia XZ3', '가격' => 875),
array('id' => 5, '이름' = > 'Xiaomi Mi Mix 3', '가격' => 569)
);
$history = array(3, 1, 2, 5) // 배열에 저장된 고객 검색 기록
$recommendations = array();
foreach ($history as $productId) {
$product = $products[array_search($productId, array_column($products, 'id'))];
$recommendations[$product['name'] ] = $product['price'];
}
위 코드에서는 먼저 $products 배열을 정의합니다. 여기서 각 요소는 제품 정보를 포함하는 연관 배열입니다. 또한 각 사용자가 본 제품 ID를 포함하는 $history 배열을 정의합니다.
$history 배열을 반복하면서 array_column() 함수를 사용하여 $products 배열에서 해당 요소의 인덱스를 찾은 다음 제품 이름을 키로 사용하여 요소의 이름과 가격 정보를 꺼냅니다. 가격은 $recommendations 배열 중간에 저장된 값입니다. 마지막으로 고객에게 더 많은 제품을 추천하기 위한 추천 목록이 있습니다.
요약
PHP에서는 루프 순회와 내장 함수 array_column()을 통해 2차원 배열의 특정 키 값에 해당하는 값을 배열의 새로운 키 값으로 설정할 수 있습니다. 이 방법은 실제 개발에서 매우 실용적이며 개발 효율성을 크게 향상시킬 수 있는 PHP의 강력한 기능 중 하나입니다.
위 내용은 PHP에서 2차원 배열의 값을 키로 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!