Skip to content

PHP学习笔记

Posted in 未分类

那些echo还有数组之类的我就不写了,直接上疑问部分吧。

 

gettype()函数,这个函数我看到了就知道是获取var所指定的类型是什么。。可具体怎么用也不知道啊…某君说PHP是弱类型语言,不需要对这个知道太多。但我还是有疑问 贴出来。

string gettype ( mixed var)

返回 PHP 变量的类型 var.

但是不管我怎么做实验都得不到结果 全部error.

<?php
$melody = “Melody is a Baka.”;
$wqnm = gettype(mixed $melody);
echo $wqnm;
?>

虽然我早就做好了面对error的准备,但我还是很疼啊…

然后转换类型函数settype…第一个我没弄明白第二个更不用说..例子都不用我贴了。

今天看到的比较实用的大概是强制转换数据类型,也是我今天唯一看懂的…

“Melody is a Baka!”这是字符串

32这是整数值

1.3这是双精值

true这是布尔值

还有数组、浮点类型。

我们可以强制性的把数据转换为指定类型,比如说:

$melody=(double) 32;

echo $melody;那么最后输出的就是32.0…

类似的还有(int)(bool)(array)(object)(string)(float)

其中比较有意思的是将字符串转换成整数类型,如果这个字符串的第一个字符是数字,那么直接输出这个数字,如果不是,那么就输出0..

然后还有将数据类型转换为数组的,只是这个方法会默认将这个数据当作数组的第一个数据,也就是只能用一次,第二次就会清空数组重新创建。

 

就这么点坑了。谢谢观赏。

 

21 Comments

  1. 你没有买书学习么?

    2012年7月29日
    |Reply
  2. 之前应该没学过编程语言吧?

    2012年7月29日
    |Reply
    • admin
      admin

      确实是这样啊!我对不起CCTV

      2012年7月29日
      |Reply
  3. PHP不熟,仅限于看着WP的模版能自己改动一点点的水平orz

    2012年8月1日
    |Reply
    • admin
      admin

      这篇文章自己都有点不明所以

      2012年8月2日
      |Reply
    • admin
      admin

      啥?。。。

      2012年8月2日
      |Reply
  4. sun
    sun

    很喜欢!~~~主题

    2012年8月4日
    |Reply
  5. 蘋果
    蘋果

    $melody = “Melody is a Baka.”;
    $wqnm = gettype($melody);
    echo $wqnm;
    ==============================
    $melody = “Melody is a Baka.”;
    echo gettype($melody);
    ==============================
    echo gettype(“Melody is a Baka.”);
    ==============================

    Q: 這3句代碼有什麼共同點?
    A: Melody 都是個 Baka (pia

    2012年8月4日
    |Reply
  6. Lex
    Lex

    string gettype ( mixed var)
    意思是gettype这个函数的参数是混合类型的变量(中国語苦手,一直看英文书的),并且函数返回string类型
    其实我觉得你应该先修炼修炼你的英文水平,我以为一般人看这种东西都是一眼就明白了的
    所谓mixed variable就是指integer float(double) string boolean这种的,所以这个函数接受这些类型的变量
    所以你可以gettype(“xxx”) gettype(23123) gettype(24165.4654) gettype(true)
    然后这个函数返回的值则是一个string
    所以echo gettype(“xxx”)才会返回“string”的结果
    比如:
    1.echo gettype(“xxx”)
    2.echo “string”
    3.返回”string”
    再换个例子:
    1.echo gettype(4324)
    2.echo “integer”
    3.返回”integer”

    让我用语言描述下第二个例子,首先不看echo,gettype函数的参数是个int类型,因为int属于mixed,所以经过gettype函数分析后,会返回一个string,在这个例子中就是“integer”。之后,因为echo接受string类型,并将string输出到standard output,所以你才会看到一个”integer“的结果。

    接下来让我们看看settype()
    其语法形式为
    bool settype(mixed var, string type)
    意思是,settype这个函数,接受两个参数,第一个是混合类型的变量,第二个是字符串类型的type,所谓type就是类型,即”string” “boolean” “float” “integer”之类的,之后返回一个布尔值,即true或false

    你可以这么用:
    $a=256;
    settype($a, ‘string’);
    然后变量a就变成了“256”了

    或者你可以这么用,因为此函数返回一个布尔值,所以可以嵌套在一个if语句中
    $a=256;
    if(settype($a, ‘string’)){
    echo ‘operation succeeded’;
    }else{
    echo ‘operation failed’;
    }
    当然,函数返回值肯定是true,所以最后返回的肯定是’operation succeeded’

    那我故意让他失败的话
    $a=256;
    if(settype($a, ‘surprise!!’)){
    echo ‘operation succeeded’;
    }else{
    echo ‘operation failed’;
    }
    返回值就是’operation failed’了,这种用法在debugging中比较常用,总之要看函数的返回类型随机应变啦。

    另外,不一定每个函数的返回类型都是一个基础类型,有一种特殊类型是void,从本质上说,就是这个函数内没有return语句或者没有return一个isset==true的变量,所以这种函数是不返回值的。

    并且参数类型也不局限于几个基础类型,你还会看到类似resource handle之类的类型。

    我也水平有限,而且很久没用了,马马虎虎看着吧,看不懂我也无能为力了。

    2012年8月8日
    |Reply
    • admin
      admin

      @Lex
      看懂一半…
      不过万分感谢指导,受教了

      2012年8月9日
      |Reply

Leave a Reply

Your email address will not be published. Required fields are marked *