if (isset($_GET['sort_by']) && strlen($_GET['sort_by']) > 0)
{
$sort_by = $_GET['sort_by'];
}
else
{
$sort_by = 'desc';
}
가 어떻게 덜 라인을 청소기 보이고있다 그래서 .. 내가 도니는 다르게 하나의 라이너를 사랑한다는 것을 다시 작성할 수 있습니다청소기 PHP 코드
if (isset($_GET['sort_by']) && strlen($_GET['sort_by']) > 0)
{
$sort_by = $_GET['sort_by'];
}
else
{
$sort_by = 'desc';
}
가 어떻게 덜 라인을 청소기 보이고있다 그래서 .. 내가 도니는 다르게 하나의 라이너를 사랑한다는 것을 다시 작성할 수 있습니다청소기 PHP 코드
바로 제거하여 경우 블록 이외의 기본값을 이동하는 첫 번째 옵션 else. if 문에 조건을 그대로 유지하려면 으로 가장 좋으며 조건부 (3 진) 연산자를 사용하여 더 많은 문장을 작성하면 손실되는 선명도가 그대로 유지됩니다.
$sort_by = 'desc'
if (isset($_GET['sort_by']) && strlen($_GET['sort_by']) > 0){
$sort_by = $_GET['sort_by'];
}
미만 0 반환하지 않습니다 나 strlen 있지만, 당신은 > 0
$sort_by = 'desc'
if (isset($_GET['sort_by']) && strlen($_GET['sort_by'])){
$sort_by = $_GET['sort_by'];
}
또 다른 옵션은 한 줄에 모든 것을 이동하고 조건 연산자를 사용하는 것입니다 제거 할 수 있습니다. 단점은 멀리까지 먼 거리 (내 선택 사항)가 걸리고 너무 많은 하나의 라인을 넣어 시작한다는 것입니다.
$sort_by = isset($_GET['sort_by']) && strlen($_GET['sort_by']) ? $_GET['sort_by'] : 'desc';
당신으로 인해 감소 된 길이 조건 연산자가 사용 가능하게 empty()
를 사용할 수 있도록 약간의 기능을 변경 한 경우. 문제는 문자열 "0"이 비어있는 것으로 처리된다는 것입니다.
$sort_by = !empty($_GET['sort_by']) ? $_GET['sort_by'] : 'desc';
옵션 "기본값"매개 변수).
즉. function getQueryStringVar($key, $defaultValue = '') { ...
감사합니다 신사 (여성 지능에 대한 공격을 전혀 좋아하지 않음) – vick
$sort_by = in_array($_GET['sort_by'], array('asc', 'desc')) ? $_GET['sort_by'] : 'desc';
이 또한
나는, 그러나 Yacoby은 (코드를 청소의 좋은 일을 했어 내가 한 라이너가 자동 청소기 코드를 의미하지 않는다는 것을 추가 할 생각 vailidity뿐만 아니라 그것을 만드는에게 확인 하나의 라이너). 그러나 나는 그 하나의 라이너를 읽으려고 정리할 것입니다 ....
$ sort_by = empty ($ _ GET [ 'sort_by'])? 'desc': $ _GET [ 'sort_by'];
간단히! 기호는 때로는 코드를 읽는 사람이 놓칠 수 있습니다 - 나는 이것이 내 의견으로는 명확한 하나의 라이너라고 생각합니다 :)
나는 후자를 좋아합니다. –
나는'! empty()'(또는 가지를 바꿔야한다)라고 생각한다. –
@Felix 방금 알아 챘습니다. :) – Yacoby