안녕하세요
Copy
$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에 하려고하는데요
이런식으로 했다면
원하는 결과값 :
Copy
$a = Array ( [0] => Array ( [guest_phone] => 12345,[name] => '홍길동'))
[1] => Array ( [guest_phone] => 5678),[name] => ''));
어떻게 하면 좋을까요?
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
5년 전
배열 갯수가 $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'] = '';
}
답변에 대한 댓글 1개
rlawhd
5년 전
5년 전
if($a['guest_phone'] == $b['number'])
$a['name'] = $b['name'];
답변을 작성하려면 로그인이 필요합니다.
배열은 좀더 많고 다양한데 알려주신걸 응용해서 완료했습니다
정말 감사합니다!!