2012-02-24 7 views
-3

변수의 내용이 숫자인지 배열인지 확인하고 싶습니다. is_array(), is_int(), is_numeric()이 실제로 작동하지 않습니다. 현재 작동하는 myArray [1]을 사용하고 있습니다. 하지만 왜이 기능 중 하나가 나를 위해 이것을 할 수 없는지 궁금하네요?변수가 숫자인지 배열인지 확인하십시오.

편집 :

내가 콘텐츠와 myArray['id'] 같은을 한 것으로 보인다 이것은 항상 배열입니다.

+0

... 숫자 13은 배열입니까? 'is_array (13) === true'를 의미합니까? – JJJ

답변

4
$array = is_array(13) ? "yes" : "no"; 
$int = is_int(13) ? "yes" : "no"; 
$numeric = is_numeric(13) ? "yes" : "no"; 

echo $array."\n", $int."\n", $numeric."\n"; 

답글, 그래서 문제가 여기에 정말로 확실하지 않다!

는 지적 아마도 가치가 당신이 실행하는 경우 :

$array = is_array("13") ? "yes" : "no"; 
$int = is_int("13") ? "yes" : "no"; 
$numeric = is_numeric("13") ? "yes" : "no"; 

echo $array."\n", $int."\n", $numeric."\n"; 

응답은 다음과 같습니다 예상대로 다시입니다

no 
no 
yes 

- 문자열과 번호로 표시되지 않습니다 배열. 이 같은

실행 getType로 :

echo gettype(13); 

는 그것이 integer 보여줍니다.

1

gettype 기능을 사용할 수 있습니다.

$type = gettype($variable); 
if ($type == 'array') { 
    // it's an array 
} else if ($type == 'integer') { 
    // it's an integer 
} else { 
    // it's a trap ! 
} 
+0

독일어 gettype 문서 (번역 : 느슨하게 번역 됨) :'Warning gettype을 사용하여 특정 유형을 확인하지 마십시오. 반환되는 문자열은 앞으로 변경 될 수 있기 때문에 절대로 사용하지 마십시오. 또한 문자열 비교가 포함되어 있기 때문에 속도가 느립니다. 대신 is _ * - functions를 사용하십시오. "http://php.net/manual/de/function.gettype.php – Basti

1

정말 이니?

$myNumber = 13; 

$myArray = array("test" => "data"); 

if(is_array($myNumber)) { 
    echo "myNumber is an array!"; 
}else{ 
    if(is_numeric($myNumber)) { 
     echo "myNumber is not an array, but it is a number!"; 
    } 
} 

myNumber는 배열이 아니지만 숫자입니다.

2

이것은 실제 질문이 아닙니다. is_array() 분명히 어떤 실제 문제가있어 수 13

에 대해 false를 반환?

비록 PHP 당신이 변수에서 숫자 1과 3에 액세스 할 수있는 것은 배열 구성원에 액세스하는 데 사용되는 동일한 구문을 사용하여 수 13, 그것은 정수에서 배열을하지 않습니다 포함되어 있습니다. 그것은 단지 "신택스 설탕"일뿐입니다.

을 확인해야 질문을 쓰기 시작할 수 있습니다.

no 
yes 
yes 
예상대로

+0

죄송합니다. 나는 아직도 배워야한다. – testing

관련 문제