두개 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'] = '';
}
if($a['guest_phone'] == $b['number'])
$a['name'] = $b['name'];
답변을 작성하시기 전에 로그인 해주세요.