반응형

1. 없어진 함수


ereg (), eregi (), ereg_replace () eregi_replace, split () spliti () sql_regcase ()


ereg와 관련된 함수들이 대부분 삭제 됐음.


이거말고 쓸수 있는거 preg_match 등을 사용하면됨.


내가 즐겨쓰는 함수가 eregi였는데....




2. mysql연결 함수 변경


기존엔


$connect=@mysql_connect($hostname,$dbuserid,$dbpasswd);

@mysql_select_db($dbname,$connect);


이런식으로 mysql에 접속했는데 이제 mysql_* 이런건 쓸 수 없음


$mysqli = new mysqli($hostname, $dbuserid, $dbpasswd, $dbname);

$mysqli->query("SET sql_mode = 'HIGH_NOT_PRECEDENCE';");


이제 이런식으로 mysqli를 써야함...


selec문에서도....


$result=mysql_query("SELECT * from test where ac='1' order by bc desc");

$rs=mysql_fetch_object($result);


이런식으로 썼다면


$result = $mysqli->query("SELECT * FROM test where ac='1' order by bc desc");

$rs = $result->fetch_object();

//print_r($rs);

$result->free();


이렇게 바꿔야함......또...


$result=mysql_query("select count(*) from test");

$rs=mysql_fetch_array($result);


이렇게 쓰던걸...


$result = $mysqli->query("SELECT count(*) FROM test");

$rs = $result->fetch_array() ;

//print_r($rs);

이렇게 바꿔야함...


그외에 insert나 update, delete는...


$sql=$mysqli->query("insert into topic (title) values ('test_title')");


$sql=$mysqli->query("update topic set title='test_subject' where id=8");


$sql=$mysqli->query("delete from topic where id=8");


이렇게 써줘야함...



3. 가변변수의 새로운 기술 방법


${$var[ 'foo'][ 'bar']} 에서 ($$var)['foo']['bar'] 이렇게 가능하다고 함.


// PHP 5.x;

$var->{$prop['key']};

$var->{$prop['key']}();


// PHP 7;

($var->$prop)['key'];

($var->$prop)['key']();


뭔가 어색하다...써봐야 알 수 있을듯...


4. 삼항연산자보다 더 좋은 연산자 등장


일반적으로 변수를 받을때 삼항연산자를 많이 사용한다...


$aaa = isset ($bbb)? $bbb : $ccc;


변수 $aaa를 지정할때 bbb가 값이 있으면 bbb를 없으면 ccc를 입력받는 방식임


그런데 이놈을 7.1.5에서는


$aaa = $bbb ?? $ccc;


이렇게하면 같은 방식이 된다. 쉽다.


$var = $a ?? $b ?? $c;


이렇게하면 무슨 뜻일까? a가 없으며 b, b도 없으면 c다...쉽다...


5. 추가된 비교연산자


<=> 요렇게 생긴놈...


$a=1;

$b=1;

$c=2;


일때 $a<=>$b=0, $a<=>$c=-1, $c<=>$a=1


두 값이 같으면 0을, 왼쪽의 값이 작으면 -1, 크면 +1 반환한다.



그외에는 http://php.net/manual/kr/migration70.php


여기서 확인

반응형

+ Recent posts