VongolaX 0 Denunciar post Postado Outubro 19, 2010 seguinte recebi uma lista com umas questões em php pra entregar essa semana ate aew beleza, porem to em duvida em 1 questão questão e a seguinte: 4. Escreva um programa em PHP que receba variáveis com dados de uma pessoa: nome, cpf e salário. Então, teste se estas variaveis estão vazias e se os valores que estão dentro delas corresponde ao tipo esperado, por exemplo: na variavel nome o tipo dela deve ser string e no tipo cpf deve ser numerico. Mostre uma mensagem de aviso ao usuário caso as variaveis estejam com um tipo diferente do esperado. Não to conseguindo testar as variaveis, pelo que pesquisei devo usar o is_string e o is_numeric correto? porem naum to conseguindo, se alguem puder da uma luz, preciso entregar isso quarta =( Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 19, 2010 if() cara.. como você tentou fazer ? Compartilhar este post Link para o post Compartilhar em outros sites
VongolaX 0 Denunciar post Postado Outubro 19, 2010 if() cara.. como você tentou fazer ? Não to em casa agora, mais foi mais o menos assim que eu fiz <?php $nome = "douglas"; if(is_string("$nome")){ echo "$nome é uma string" }else{ echo "$nome não é uma string" } ?> Foi mais o menos isso, porem sempre diz q tudo e string =( help pliss!! Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Outubro 19, 2010 Lógico... tudo que esta entre aspas é string. :) http://br3.php.net/is_string Compartilhar este post Link para o post Compartilhar em outros sites
VongolaX 0 Denunciar post Postado Outubro 19, 2010 Lógico... tudo que esta entre aspas é string. :) http://br3.php.net/is_string certo, mais como que eu faço pra testar os valores? essa e minha duvida eu tenho que colocar entre aspas qnd puxar os valores do form então como vo fazer esse bendito teste? se e string ou numerico? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 20, 2010 cara, pra ficar 'bom', acho que só com ER mesmo.. pois os is_ e o gettype() são falhos... além do que, o php faz conversão automática de tipos (linguagem de tipagem fraca), e tudo oque você receber via POST, será string logo, acredito que uma das poucas soluções corretas e aceitáveis, seria algo como: <?php function typeof( $var ) { return preg_match('/^[.0-9]+$/', $var ) ? 'numérico' : 'string'; } $nome = 'douglas 2'; //é string echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br />'; $nome = '33 douglas 2'; //é string echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br />'; $nome = '233.0//'; //é string echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br /><br />'; $nome = '233.0'; //é numérico echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br />'; $nome = 2; //é numérico echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br />'; $nome = '2333'; //é numérico echo '<u><cite>'.$nome.'</cite></u> é '.typeof( $nome ),'<br />'; Compartilhar este post Link para o post Compartilhar em outros sites