2016-12-20 16 views
0

isset()empty을 사용하여 많은 것을 읽었지만 찾고있는 답변을 찾을 수 없습니다.vars 목록이 비어 있는지 확인하십시오. 그렇지 않은 경우 PHP에서 문자열로 이동하십시오.

기본적으로 사용자는 게시물의 일부 html 입력을 채우고 PHP 스크립트를 호출합니다. 주소를 찾기 위해 별도의 웹 서비스를 호출하기 전에 채워진 주소 요소가 모두 포함 된 문자열을 만들어야합니다. 입력 필드가 채워지지 않은 경우 목록에서 제외 시키려고합니다. 한마디로

는 :

  • 확인은 값을 포함 있는지 확인하기 위해 10 $vars 1을 기록했다.
  • 값이없는 각각에 대해 문자열에서 제거하십시오. 값이있는 경우 문자열에 값을 추가하십시오.

내가 empty, !empty, isset를 사용하여 시도하고 아직도 그것을 밖으로 일을하지 않았습니다.

샘플 코드 :

<?php 
if 
(empty($Lot_no)) 
{ $Lot_no = $v1; 
} 
if (empty($Flat_unit_no)) 
    {$Flat_unit_no = $v2; 
} 
$str= $v1. $v2; 
?> 
+0

* $ vars 1 ~ 10 *의 값을 검사하지 않고 논리 연산의 논리가'$ Lot_no'와'$ Flat_unit_no'인지 궁금하다. . 만약 당신이'if (empty ($ v1))'를 체크하고 싶다면'$ str'은 실제로'$ str = $ Lot_no. $ Flat_unit_no;' – Sean

+0

출력 할 수 있습니까? $ vars에 대한 값 –

답변

0

$address = ''; 
foreach ($_POST as $post) { 
    if (!empty($post)) { 
     $address .= $post . ', '; 
    } 
} 

같은 다음과 유사한 또 다른 비슷한 질문이 작업을 수행합니다. Why check both isset() and !empty()

당신이 배열에 추가 할 같은 것을 할 (I 상태를, 양식 입력 이름을하지만, 거리, 도시의 형태로 입력 이름 예를 들어

$address = []; 
$addressKeys = ['street', 'city', 'state']; 
foreach ($_POST as $key => $post) { 
    if (in_array($key, $addressKeys)) { 
     $address[$key] = $post; 
    } 
} 
을 모르겠어요 경우,

나는 이것을 테스트하지는 않았지만 괜찮아 보인다.

+0

이것은 작동 할 것이고, 유일한 문제는 단지 주소보다 더 많은 가치가 게시된다는 것입니다. –

+0

주소를 새 배열에 추가해야 작동 할 수 있습니다. 감사합니다 –

+0

@MatthewMNoonan 내 편집 된 답변은 무엇을 찾고 있어야합니다 – shauns2007

0

이 하나를 시도하십시오. 값이 0인지 아닌지를 확인할 수 있습니다.

<?php 
    if((empty($Lot_no)) && ($Lot_no =='0')){ 
     $Lot_no = $v1; 
    }if ((empty($Flat_unit_no)) && ($Lot_no =='0')){ 
     $Flat_unit_no = $v2; 
    } 
    $str= $v1. $v2; 
?>