2014-12-28 2 views
1

3의 PHP 상수의 PHP 필터에서이 직선을받을 수는 나는 그들이 무엇 확실하지 않다

1 FILTER_REQUIRE_ARRAY

The name says it all I can agree no more but there is a function called 
<em>filter_var/input_array()</em> which works in similar fashion; 
I've seen examples where recursive validation is required but 
not all element in the array are arrays some items are just scalar value 




FILTER_REQUIRE_SCALAR

<?php 
     $x = 5; 
     $y = [1, 2, 3]; 

     var_dump(filter_var($x,FILTER_REQUIRE_SCALAR)); 
     var_dump(filter_var($y,FILTER_REQUIRE_SCALAR)); 
    ?> 

이전 코드를 고려해보십시오. 즉,이 모든 입니다 $의 X를 볼 수 있습니다 사용과 같은
실제로 스칼라

FILTER_FORCE_ARRAY

항상 배열을 반환


입니다 (false)를
부울 (false)를

부울을 생산 내가 발견 한 문서
phpDoc에 대한 저에게 이것에 대한 예를주세요

,515,

답변

2

FILTER_REQUIRE_ARRAY 하나가 입력 옵션 FILTER_REQUIRE_ARRAY을 사용하여 배열 될 것으로 기대하고있는 경우이 니펫

<?php 

$arr = array(1,2,3,4,5); 
$a = 3; 
$result = filter_var($arr,FILTER_VALIDATE_INT, FILTER_REQUIRE_ARRAY); 
var_dump($result); 

// output: 
array (size=5) 
    0 => int 1 
    1 => int 2 
    2 => int 3 
    3 => int 4 
    4 => int 5 

$result = filter_var($a,FILTER_VALIDATE_INT, FILTER_REQUIRE_ARRAY); 
var_dump($result); // boolean false 

, 그것은 배열 대신 스칼라 값을 포함하는 검증 입력을 방지 할 수 있습니다. 데이터를 포함하는 문자열 키

배열 필터링 :는 다음과 같이 데이터가 있음을 예상하므로

filter_var_array()이 예에서, 데이터에 작동하지 않을 것이다. (Manual 참조)

FILTER_REQUIRE_SCALAR : 위의 코드에서

<?php 

$arr = array(1,2,3,4,5); 
$a = 3; 
$result = filter_var($arr,FILTER_VALIDATE_INT, FILTER_REQUIRE_SCALAR); 
var_dump($result); // boolean false 

$result = filter_var($a,FILTER_VALIDATE_INT, FILTER_REQUIRE_SCALAR); 
var_dump($result); // int 3 

, 하나의 옵션 FILTER_REQUIRE_SCALAR를 이용하여 스칼라로 입력을 기대하고있는 경우,이 입력이 포함 된 경우의 검출에 유용 예상 스칼라 값 대신 정보 배열. 플래그 FILTER_FORCE_ARRAY이 존재하지 않는 경우

<?php 

$num = "1"; 
$result = filter_var($num,FILTER_VALIDATE_INT,FILTER_FORCE_ARRAY); 
var_dump($result); 

// output: 
array (size=1) 
    0 => int 1 

는 다음 $ 결과가 int 1

+0

당신은 환영합니다 당신의 대답 –

+0

당신에게 아주 꼭 감사 같습니다

여기에 간단한 FILTER_FORCE_ARRAY를 사용하는 예입니다! – slevy1

관련 문제