'2012/12'에 해당되는 글 3건

substr

PHP 2012. 12. 31. 12:06

string substr ( string $string , int $start [, int $length ] )


Example #1 Using a negative start
<?php
$rest 
substr("abcdef", -1);    // returns "f"
$rest substr("abcdef", -2);    // returns "ef"
$rest substr("abcdef", -31); // returns "d"
?>

Example #2 Using a negative length
<?php
$rest 
substr("abcdef"0, -1);  // returns "abcde"
$rest substr("abcdef"2, -1);  // returns "cde"
$rest substr("abcdef"4, -4);  // returns false
$rest substr("abcdef", -3, -1); // returns "de"
?>

Example #3 Basic substr() usage
<?php
echo substr('abcdef'1);     // bcdef
echo substr('abcdef'13);  // bcd
echo substr('abcdef'04);  // abcd
echo substr('abcdef'08);  // abcdef
echo substr('abcdef', -11); // f

// Accessing single characters in a string
// can also be achieved using "square brackets"
$string 'abcdef';
echo 
$string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>


Example #4 substr() casting behaviour
<?php
class apple {
    public function 
__toString() {
        return 
"green";
    }
}

echo 
"1) ".var_export(substr("pear"02), true).PHP_EOL;
echo 
"2) ".var_export(substr(5432102), true).PHP_EOL;
echo 
"3) ".var_export(substr(new apple(), 02), true).PHP_EOL;
echo 
"4) ".var_export(substr(true01), true).PHP_EOL;
echo 
"5) ".var_export(substr(false01), true).PHP_EOL;
echo 
"6) ".var_export(substr(""01), true).PHP_EOL;
echo 
"7) ".var_export(substr(1.2e304), true).PHP_EOL;
?>

The above example will output:
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

'PHP' 카테고리의 다른 글

PHP 소켓 통신 TCP/IP  (0) 2012.12.13
PHP 정규 표현식 문법  (0) 2012.07.31
PHP 정규표현식  (0) 2012.07.31
host 파일 수정  (0) 2012.07.31
PHP 내장 함수  (0) 2012.07.27
블로그 이미지

스마트전

,

PHP 소켓 통신 TCP/IP

PHP 2012. 12. 13. 12:07

[PHP] 소켓 통신(전송) PHP 소스 

 

필자가 실제 현장에서 검증하고 구현된 소켓통신 PHP 소스입니다.

 

웹상에 저질 정보들이 너무 난무해서 확실히 되는 소켓통신 '전문전송' 소스 입니다. 물론 서버쪽에서

 

도 소켓을 생성하여 전문을 받고 회신을 해줄 수 있어야 겠죠?

 

TCP 전용으로 작성해 보겠습니다.  실험은 사이트에 "socket.php"로 올려서 예제로 만들어서 해봤습

 

니다. NICE(한국신용평가)사 와 라우터와 전용선으로 1:1 연결해서 했던 방식입니다.

 

<?php
//The Client
error_reporting(E_ALL);

$address = "xxx.xxx.xxx.xxx"; // 접속할 IP //
$port = xxxx; // 접속할 PORT //

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // TCP 통신용 소켓 생성 //
if ($socket === false) {
echo "socket_create() 실패! 이유: " . socket_strerror(socket_last_error()) . "\n";
echo "<br>";
} else {
echo "socket 성공적으로 생성.\n";
echo "<br>";
}

echo "다음 IP '$address' 와 Port '$port' 으로 접속중...";
echo "<BR>";

$result = socket_connect($socket, $address, $port); // 소켓 연결 및 $result에 접속값 지정 //

if ($result === false) {
echo "socket_connect() 실패.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
echo "<br>";
} else {
echo "다음 주소로 연결 성공 : $address.\n";
echo "<br>";
}

$i = "xxxxxxxxxxxxxxxxx"; //보내고자 하는 전문 //

echo "서버로 보내는 전문 : $i|종료|.\n";


socket_write($socket, $i, strlen($i)); // 실제로 소켓으로 보내는 명령어 //

echo "<br>";
$input = socket_read($socket, 1024) or die("Could not read from Socket\n"); // 소켓으로 부터 받은 REQUEST 정보를 $input에 지정 //

echo "<br>";


echo $input; //REQUEST 정보 출력//
socket_close($socket);

?>

 

 

많은 참조가 되었나요? 이것은 예제일 뿐, 실제 약속된 전문을 BIT단위로 잘라서 보낼때는 그에 맞게 $i 값을 자동 지정하게 변형해주자. 

 

'PHP' 카테고리의 다른 글

substr  (0) 2012.12.31
PHP 정규 표현식 문법  (0) 2012.07.31
PHP 정규표현식  (0) 2012.07.31
host 파일 수정  (0) 2012.07.31
PHP 내장 함수  (0) 2012.07.27
블로그 이미지

스마트전

,

MySQL IFNULL

MySQL 2012. 12. 3. 18:23

MySQL IFNULL()의 사용



IFNULL은 해당 필드의 값이 NULL을 반환할때 다른 값으로 출력할 수 있도록 하는 함수이다. 


SELECT IFNULL(필드명, "대체할 값") FROM 테이블명; 


물론 하나의 필드의 값 뿐만아니라 , 연속적으로도 활용 할 수 있다. 


다음은 IFNULL을 사용한 예이다. 




위의 데이터는 3개의 필드에서 무작위로 NULL 값이 존재한다. 하지만 3개의 필드중 값이 존재한다면 그 값은 동일한 경우이다. 

만약 keyword 와 3개의 필드의 값중 하나를 출력하려 한다면 IFNULL을 활용하여 다음과 같이 사용할 수 있다. 


$query = "SELECT keyword, IFNULL( common_rep, IFNULL( fur_rep, makeup_rep ) ) as syn_2 FROM syn_color"; 


  출력 결과 



블로그 이미지

스마트전

,