1

この種の質問に対する答えが必要です。HTML 入力フィールドから変数の型を取得し、その型の $var をエコーする必要があります。

このフォームから、入力されたデータの種類を確認する必要があります。文字列か整数かなど。

<form>
<input type="text" name="podatak" value="podatak" />
<input type="Submit" name="Submit">
</form>

前もって感謝します。

4

6 に答える 6

7

すべてのフォームサブミッションは、そもそも文字列です。ただし、is_numericなどの関数を使用して、アイテムが数値であるかどうかを確認したり、is_arrayを使用して、渡されるフォーム要素が配列(つまり、チェックボックス、場合によってはファイルなど)であるかどうかを確認したりできます。

あなたのコメントに基づいて、私は次のようなことをします:

function whatTypeAmI($var)
{
    if(is_array($var)
    {
        // Request is likely a checkbox or multiple files.
        echo "I am an Array! Yeeehaaa!";
    }
    else if(is_numeric($var))
    {
        // I look like a number, or someone 
        // typed in a number into a text field.
        echo "I am a Fluffeh number!";
    }
    else
    {
        echo "Goodness, who knows what on earth happened?";
    }
}

foreach($_POST as $val)
{
    whatTypeAmI($val);
}
于 2012-09-17T11:15:01.773 に答える
2

常に文字列または配列です。is_array($_POST['value'])trueを返す場合; それは配列です。それ以外の場合は文字列です。

于 2012-09-17T11:14:25.533 に答える
0

データタイプではなくフォームフィールドタイプを見つけようとしていると思います...テキスト、送信、ボタンなど...それがあなたのシナリオである場合、そのような機能はないのではないかと思います。私の知る限り、フォームポストはフォームタイプ情報をサーバーに送信しません...連想配列を使用してそれを行うことができます。例:php側で次のようなことを行います。

<?php 
     function getType($elementName){
         $formType = array('elementName1' => 'elementType1', 'elementName2' => 'elementType2'......); 
         if(array_key_exists($elementName, $formType))
             return $formType[$elementName];
         return 'Unknown';
     }

     foreach($_POST AS $elementName => $elementVal){
          echo 'name = '.$elementName.' type = '. getType($elementName).' value ='.$elementVal;
     } 
于 2012-09-17T11:47:31.757 に答える
0

使用できますvar_dump($variable)

于 2015-03-14T10:55:48.937 に答える
-1

これらの関数is_intを利用できます :、、、、、、、など。is_arrayis_nullis_floatis_doubleis_bool

于 2012-09-17T11:13:49.353 に答える
-2
function gettype_custom($var){
    if(is_array($var)){
        return 'array';
    }elseif(is_numeric($var)){
        return 'numeric';
    }elseif(is_string($var)){
        return 'string';
    }else{
        return 'unknown';
    }
}
于 2012-09-17T11:16:21.723 に答える