프로그램/php2015. 1. 30. 09:52

//=== 문자열을 배열로 만들기

// 설명 : 구분자(예>",")로 구분된 문자열을 빈칸이 없는 문자열로 만든 후 배열로 만들어서 반환

// $str : 문자열

// $d :  구분자(기본:",")

// $ary_ret : 반환(배열)

function rtn_array_create($str, $d=",") {

$str = str_replace(" ", "", $str);    // 빈칸 없애기

$ary_ret = explode($d, $str);    // 배열로 만들기

 

retrun $ary_ret;

}

 

 

$str = " 1,2, 3,4 , 5 ";    // 문자열

$ary_cnt = 0;    // 배열 개수

$ary_list = array();

 

$ary_tmp = rtn_array_create($str);    // 문자열을 배열로 변경해서 배열변수에 담는다.

 

// 배열 확인

if(rtn_array_check($ary_tmp)) {

$ary_list = $ary_tmp;

$ary_cnt = count($ary_list);

}

 

// 결과 확인

echo "<br />배열 확인 = ";

print_r($ary_list);

echo "<br />배열 개수 = " . $ary_cnt; 



결과>

Posted by 은둔고수
프로그램/php2014. 4. 23. 13:00

버블소트(bubble sort)란?

정렬하는 방식이 마치 물에서 거품(버블:Bubble)들이 움직이는 것과 비슷하다고 해서 붙여진 이름

 

[PHP로 구현하기]

$array = array(3, 0, 2, 1, 4, 5, -1);
$size = sizeof($array);

for($x = 0; $x < $size; $x++){
    for($y = 0; $y < $size; $y++){
        if($array[$x] < $array[$y]){
            $tmp = $array[$x];
            $array[$x] = $array[$y];
            $array[$y] = $tmp;
           }
    }
}

print_r($array);

 

[결과]

Array ( [0] => -1 [1] => 0 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 )

 

 

[PHP 내장함수 사용하기] sort()

sort($array);

print_r($array);

 

[결과]

Array ( [0] => -1 [1] => 0 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 )

Posted by 은둔고수
프로그램/php2014. 4. 22. 10:48

/* 배열 확인
배열인지 첫 번째 배열 값이 있는지 확인한다.
$ary : 배열
// true
$ary = array(0);
$ary = array('val');
$ary = array('key'=>'a');
// false
$ary = array();
$ary = array('');
$ary = array('key'=>'');
*/

function rtn_array_check($ary){
    reset($ary);
    $c = current($ary); // 첫번째 배열 원소의 값을 반환
    if(!is_array($ary) || empty($ary) || ($c !== 0 && ($c === '' || $c === false))) return false;
    return true;

}

 

$ary = array();
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = array('');
echo "<br />결과 = " . rtn_array_check($ary);


$ary = array(1);
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = '';
echo "<br />결과 = " . rtn_array_check($ary);

 

$ary = '1';
echo "<br />결과 = " . rtn_array_check($ary);

 

[결과]

결과 =

결과 =
결과 = 1
결과 =
결과 =

 

참고>

is_array() : php 기본으로 제공하는 함수로 배열인지 확인해서 true 또는 false를 반환해준다.

empty() : php 기본 제공 함수로 값이 없으면 true, 있으면 false를 반환한다.

Posted by 은둔고수
프로그램/php2014. 4. 22. 00:03

php 배열에서 특정값과 일치하는 모든 배열 값들을 삭제

 

[소스 예]

<?

$ary_ori = array(1,2,3,4,3,5);    // 배열 값
$ary_del = array(2,5,4);    // 삭제할 값(배열)

 

foreach($ary_ori as $k => $v){
    foreach($ary_del as $v2){
        if($v == $v2){
            unset($ary_ori[$k]);
        }  
    }
}

 

print_r($ary_ori);

?>

 

[결과

Array ( [0] => 1 [2] => 3 [4] => 3 )

Posted by 은둔고수