この種の質問に対する答えが必要です。HTML 入力フィールドから変数の型を取得し、その型の $var をエコーする必要があります。
このフォームから、入力されたデータの種類を確認する必要があります。文字列か整数かなど。
<form>
<input type="text" name="podatak" value="podatak" />
<input type="Submit" name="Submit">
</form>
前もって感謝します。
すべてのフォームサブミッションは、そもそも文字列です。ただし、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);
}
常に文字列または配列です。is_array($_POST['value'])
trueを返す場合; それは配列です。それ以外の場合は文字列です。
データタイプではなくフォームフィールドタイプを見つけようとしていると思います...テキスト、送信、ボタンなど...それがあなたのシナリオである場合、そのような機能はないのではないかと思います。私の知る限り、フォームポストはフォームタイプ情報をサーバーに送信しません...連想配列を使用してそれを行うことができます。例: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;
}
使用できますvar_dump($variable)
。
これらの関数is_int
を利用できます :、、、、、、、など。is_array
is_null
is_float
is_double
is_bool
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';
}
}