• 技术文章 >后端开发 >php教程

    PHP基本类型

    2016-06-23 14:31:06原创518

    基本类型              返回首页     

    1、布尔类型Boolean:

    值可以为true或false。要明示地将一个值转换成boolean,用(bool)或者(boolean)来强制转换。 ";var_dump($a_bool) ; echo "
    ";var_dump((bool) ""); // bool(false) echo "
    ";var_dump((bool) 1); // bool(true) echo "
    ";var_dump((bool) -2); // bool(true) echo "
    ";var_dump((bool) "foo"); // bool(true) echo "
    ";var_dump((bool) 2.3e5); // bool(true) echo "
    ";var_dump((bool) array(12)); // bool(true) echo "
    ";var_dump((bool) array()); // bool(false) echo "
    ";var_dump((bool) "false"); // bool(true) ?>

    2、整型integer:

    integer 超出范围,将被解释为 float。运算结果超出了 integer 范围,也会返回 float。
    ";var_dump($a1) ; echo "
    ";var_dump($a2) ; echo "
    ";var_dump($a3) ; echo "
    ";var_dump($a4) ; $large_number = 2147483647; echo "
    ";var_dump($large_number);// 输出为:int(2147483647) $large_number = 2147483648; echo "
    ";var_dump($large_number);// 输出为:float(2147483648) // 同样也适用于十六进制表示的整数: 从 2^31 到 2^32-1: echo "
    ";var_dump( 0xffffffff );// 输出: float(4294967295) // 不适用于大于 2^32-1 的十六进制表示的数: echo "
    ";var_dump( 0x100000000 );// 输出: int(2147483647) $million = 1000000; $large_number = 50000 * $million; echo "
    ";var_dump($large_number);// 输出: float(50000000000)?>
    PHP 中没有整除的运算符。1/2 产生出 float 0.5。可以总是舍弃小数部分,或使用 round() 函数。
    从布尔值转换FALSE为0,TRUE 将为1。";var_dump(25/7); // float(3.5714285714286) echo "
    ";var_dump((int) (25/7)); // int(3) echo "
    ";var_dump((integer) (25/7)); // int(3) echo "
    ";var_dump(intval (25/7)); // int(3) echo "
    ";var_dump(round(25/7)); // float(4)?>

    3、浮点型

    浮点数(也叫浮点数,双精度数或实数)可以用以下任一语法定义:
    永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。
    ";var_dump($af); echo "
    ";var_dump($bf); echo "
    ";var_dump($cf); ?>

    4、Strings

    字符串可以用单引号、双引号、定界符三种字面上的方法定义。
    如果用双引号(””)括起字符串,PHP 懂得更多特殊字符的转义序列。\n 换行 \r 回车 \t 水平制表符 \\ 反斜线 \$ 美圆符号 \” 双引号
    \[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
    \x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符
    ";echo 'this is a simple string'; echo "
    ";echo 'You can also have embedded newlines in strings this way as it is okay to do'; echo "
    ";echo 'Arnold once said: "I\'ll be back"';// Outputs: Arnold once said: "I'll be back" echo "
    ";echo 'You deleted C:\\*.*?';// Outputs: You deleted C:\*.*? echo "
    ";echo "\n 换行 \r 回车 \t 水平制表符 \\ 反斜线 \$ 美圆符号 \" 双引号"; echo "
    ";echo 'You deleted C:\*.*?';// Outputs: You deleted C:\*.*? echo "
    ";echo 'This will not expand: \n a newline';// Outputs: This will not expand: \n a newline echo "
    "; echo 'Variables do not $expand $either';// Outputs: Variables do not $expand $either?>
    定界符: 另一种给字符串定界的方法使用定界符语法(”<<<”)。 应该在<<<之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
    用echo来输出大段的html和javascript脚本
    1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
    2.在PHP定界符中的任何特殊字符都不需要转义;
    3.PHP定界符中的PHP变量会被正常的用其值来替换。

    1.在<<<之后的字符Eof是自己定义的,随便什么都是可以的,但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的??这是最基本的;
    2.结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:Parse error: parse error, unexpected $end in……,提示你语法错误;
    3.如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了.变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义

    5、数组

    PHP 中的 数组 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。数组元素的值也可以是另一个数组。树形结构和多维数组也是允许的。
    值(value) 对。 $arr = array("foo" => "bar", 12 => true); echo "
    ";echo $arr["foo"]; // bar echo "
    ";echo $arr[12]; // 1?>
    key 可以是 integer 或者 string。如果key是一个 integer 的标准表示,则被解释为整数(例如 "8" 将被解释为 8,而 "08" 将被解释为 "08")。key 中的浮点数被取整为 integer。在 PHP 中索引数组与关联 数组 是相同的,它们都可以同时包含 整型 和 字符串 的下标。值可以是任意的 PHP 类型。
    array(6 => 5, 13 => 9, "a" => 42)); echo "
    ";echo $arr["somearray"][6]; // 5 echo "
    ";echo $arr["somearray"][13]; // 9 echo "
    ";echo $arr["somearray"]["a"]; // 42?>
    用方括号的语法新建/修改 $arr[key] = value;$arr[] = value;/key 可以是 integer 或 string; value 可以是任意类型的值
    如果 $arr 还不存在,将会新建一个。这也是一种定义数组的替换方法。要改变一个值,只要给它赋一个新值。如果要删除一个键名/值对,要对它用 unset()。
    1, 12 => 2); $arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script $arr["x"] = 42; // This adds a new element to // the array with key "x" unset($arr[5]); // This removes the element from the array unset($arr); // This deletes the whole array echo "
    "; print_r($arr); // 创建一个简单的数组 echo "
    创建数组"; $array = array(1, 2, 3, 4, 5); print_r($array); // 现在删除其中的所有元素,但保持数组本身不变: foreach ($array as $i => $value) { unset($array[$i]); } echo "
    删除元素"; print_r($array); // 添加一个单元(注意新的键名是 5,而不是你可能以为的 0) $array[] = 6; echo "
    添加一个单元"; print_r($array); // 重新索引: echo "
    重新索引"; $array = array_values($array); $array[] = 7; print_r($array);?> unset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。
    array_values();重新建立索引
    foreach 控制结构是专门用于数组的。它提供了一个简单的方法来遍历数组。
    ";echo "\nChecking $i: \n"; echo "
    ";echo "Bad: " . $array['$i'] . "\n"; echo "
    ";echo "Good: " . $array[$i] . "\n"; echo "
    ";echo "Bad: {$array['$i']}\n"; echo "
    ";echo "Good: {$array[$i]}\n"; } ?>
    1 使用 array()
    'red', 'taste' => 'sweet', 'shape' => 'round', 'name' => 'apple', 4 // key d be 0 ); echo "
    ";print_r($a); $b = array('a', 'b', 'c'); echo "
    ";print_r($b); // . . .is completely equivalent with this: $a = array(); $a['color'] = 'red'; $a['taste'] = 'sweet'; $a['shape'] = 'round'; $a['name'] = 'apple'; $a[] = 4; // key will be 0 echo "
    ";print_r($a); $b = array(); $b[] = 'a'; $b[] = 'b'; $b[] = 'c'; echo "
    ";print_r($b);?>
    2 集合
    4, 'OS' => 'Linux', 'lang' => 'english', 'short_tags' => true ); echo "
    ";print_r($map); // strictly numerical keys $array = array( 7, 8, 0, 156, -10 );// this is the same as array(0 => 7, 1 => 8, ...) echo "
    ";print_r($array); $switching = array( 10, // key = 0 5 => 6, 3 => 7, 'a' => 4, 11, // key = 6 (maximum of integer-indices was 5) '8' => 2, // key = 8 (integer!) '02' => 77, // key = '02' 0 => 12 // the value 10 will be overwritten by 12 ); echo "
    ";print_r($switching); // empty array $empty = array(); echo "
    ";print_r($empty); ?>
    3 集合
    "; // Workaround for older versions foreach ($colors as $key => $color) { $colors[$key] = strtoupper($color); } echo "
    ";print_r($colors);?>
    4 下标从1开始的数组
    'January', 'February', 'March'); echo "
    ";print_r($firstquarter);?>
    5 填充数组

    6 数组排序

    7 递归和多维数组
    array ( "a" => "orange", "b" => "banana", "c" => "apple" ), "numbers" => array ( 1, 2, 3, 4, 5, 6 ), "holes" => array ( "first", 5 => "second", "third" ) ); // Some examples to address values in the array above echo "
    ";echo $fruits["holes"][5]; // prints "second" echo "
    ";echo $fruits["fruits"]["a"]; // prints "orange" unset($fruits["holes"][0]); // remove "first" // Create a new multi-dimensional array $juices["apple"]["green"] = "good"; ?>
    8 值的拷贝 使用&引用操作符 通过引用来拷贝数组
    ";print_r($arr2); // echo "
    ";print_r($arr3); //?>

    6、对象

    对象初始化 要创建一个新的对象 object, 使用 new 语句实例化一个类: ";echo "Doing foo."; } } $bar = new foo; $bar->do_foo();?>
    ";echo $obj->scalar; // outputs 'ciao'?>

    7、NULL

    特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。
    被赋值为 NULL。 尚未被赋值。 被 unset()。
    "; #echo $var; // outputs 'ciao' var_dump($var)?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP基本类型
    上一篇:php异步调用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 手写PHP API框架(二)之Composer的安装使用• 设计API接口时,要注意这些地方!• 聊聊PHP escapeshellarg函数使用的中文问题• 聊聊php怎么让Swoole/Pool进程池实现Redis持久连接• PHP原生类的总结分享
    1/1

    PHP中文网