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

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

QA

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

답변 2

본문

안녕하세요

 


 
$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'] = '';
}

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 56
© SIRSOFT
현재 페이지 제일 처음으로