php 배열 연산에서 + 와 array_merge 의 차이
php 에서 2개 의 배열을 합칠 때 + 또는 array_merge 함수를 사용한다. 이 두 가지 연산은 결과에서 차이가 존재한다. 아래의 샘플 코드로 차이를 확인할 수 있다. 위 코드를 실행했을 때의 결과는 아래와 같다. + 를 사용하는 경우는 $a 배열의 기존 값은 그대로 보존대고 없는 값이 추가되는 반면 array_merge 에서는 $a 값이 $b 값을 덮어쓰여진다. 위 …
php 에서 2개 의 배열을 합칠 때 + 또는 array_merge 함수를 사용한다. 이 두 가지 연산은 결과에서 차이가 존재한다. 아래의 샘플 코드로 차이를 확인할 수 있다. 위 코드를 실행했을 때의 결과는 아래와 같다. + 를 사용하는 경우는 $a 배열의 기존 값은 그대로 보존대고 없는 값이 추가되는 반면 array_merge 에서는 $a 값이 $b 값을 덮어쓰여진다. 위 …
PHP 에서 특정 사용자 에이전트(예: Googlebot 등)를 제외하고 방문로그를 DB에 남기는 코드이다. 방문로그 테이블 구조에 따라 아래 코드는 수정된 후 사용되어야 한다. <?php $_AGENT_EXCLUDE = array( ‘mod_pagespeed’, ‘bot’ ); if (!isset($_SESSION[‘ss_visit_log’]) || !$_SESSION[‘ss_visit_log’]) { if (str_replace($_AGENT_EXCLUDE, ”, $_SERVER[‘HTTP_USER_AGENT’]) == $_SERVER[‘HTTP_USER_AGENT’]) { $sql = ” insert into `{$nt[‘visit_table’]}` ( vi_date, vi_time, vi_referer, vi_agent, vi_ip ) values …
curl 등을 사용해 API 콜을 보내고 리턴 받은 xml 포맷의 데이터를 배열(Array)로 변환하는 코드이다. <?php function convertArray($object) { return json_decode( json_encode( $object ), 1 ); } $url = ‘http://api.example.com/xml’; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_ENCODING, ‘gzip,deflate’); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); curl_setopt($ch, CURLOPT_TIMEOUT, …
아래의 쿼리를 실행한 후 MySQLi prepared statement(이하 stmt) 의 결과를 field=>value 형태의 배열로 얻는 방법이다. select name, email from member where id = ‘abc’ stmt 실행 후 bind_result 메서드를 이용해 각 변수에 값을 얻게 되는데 쿼리문에 필드가 많을 경우 각각의 변수를 할당해야 하기 때문에 조금은 짜증나는 작업이 된다. 이 때 필드명을 키로 하는 배열로 결과를 …
제목에서 의미 전달이 명확하지 않은데 주어진 배열에서 사용자가 지정한 값이 배열에 존재하고 중복되면 중복되는 값을 제거하고 배열에 그 값이 존재하지 않으면 중복을 제거하지 않는 것이다. 아무래도 코드를 예로 드는 것이 더 확실할 것 같다. <?php $haystack = array(‘철수’,’영희’,’진수’,’성희’,’철수’); $niddle = ‘철수’; $count = 0; foreach($haystack as $value) { if($value == $niddle) $count++; } if($count > …