두개 array 키값을 비교해서 value 값 넣기

두개 array 키값을 비교해서 value 값 넣기

QA

두개 array 키값을 비교해서 value 값 넣기

본문

안녕하세요

 


 
$a = Array ( [0] => Array ( [guest_phone] => 1234)
[1] => Array ( [guest_phone] => 5678));
 
$b = Array ( [0] => Array ( [number] => 1234 [name] => '홍길동 ));

 

 

이런식으로 $a, $b 가 있을때

 

guest_phone = number 같은값만 name이 들어가게끔 $a에 하려고하는데요

 

이런식으로 했다면

원하는 결과값 : 

 


$a = Array ( [0] => Array ( [guest_phone] => 12345,[name] => '홍길동'))
[1] => Array ( [guest_phone] => 5678),[name] => ''));

 

어떻게 하면 좋을까요?

이 질문에 댓글 쓰기 :

답변 2

배열 갯수가 $a 에 0,1 2개 , $b에 0 한개 뿐인가요?

질문이 좀 더 상세해야 효율적인 코딩이 가능한데....
각각의 배열이 갯수가 몇개인지에 따라 효율적인 방법을 찾아야 합니다

 

예를들어 $a에 10개 $b가 20개면 for문으로 돌리면 200번 loop를 돌아야겠죠
이런 경우 30번만 loop돌면 되는 코드입니다

number를 키로 해서 배열을 하나 만들면 됩니다


for($i=0; $i<count($b); $i++){$p =$b[$i]['number']; $c[$p]= $b[$i]['name']; }

for($i=0; $i<count($a); $i++){
$p = $a[$i]['guest_phone'];
 if($c[$p]) $a[$i]['name'] = $c[$p];
 else $a[$i]['name'] = '';
}

답변을 작성하시기 전에 로그인 해주세요.
전체 8,745
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT