PHP echo 和 print 语句 —— EOF(heredoc) —— 数据类型 —— 类型比较 —— 常量 —— 字符串变量 —— 运算符


类型比较 —— 常量 —— 字符串变量 —— 运算符

PHP echo 和 print 语句

echo 和 print 区别:(没啥区别,输出的区别,多用echo)

echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

PHP EOF(heredoc)

PHP EOF(heredoc)是一种在命令行shell和程序语言里定义一个字符串的方法。

使用概述:

1. 必须后接分号,否则编译通不过。
2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

例:

<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

PHP 数据类型

PHP 支持以下几种数据类型:

String(字符串)
Integer(整型)
Float(浮点型)
Boolean(布尔型)
Array(数组)
Object(对象)
NULL(空值)
Resource(资源类型)

PHP 字符串

一个字符串是一串字符的序列,就像 "Hello world!"。

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>

PHP 整型

整数是一个没有小数的数字。
整数规则:

1.整数必须至少有一个数字 (0-9)
2.整数不能包含逗号或空格
3.整数是没有小数点的
4.整数可以是正数或负数
5.整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

<?php 
$x = 5985;
var_dump($x);  //var_dump() 函数返回变量的数据类型和值
echo "<br>"; 
$x = -345; // 负数 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
//int(5985)
//int(-345)
//int(140)
//int(39)

PHP 浮点型

浮点数是带小数部分的数字,或是指数形式。

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
?>
//float(10.365)
//float(2400)
//float(8.0E-5)

PHP 布尔型(条件判断)

布尔型可以是 TRUE 或 FALSE。

$x=true;
$y=false;

PHP 数组

数组可以在一个变量中存储多个值。

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>

PHP 对象

对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<!DOCTYPE html>
<html>
<body>

<?php
class Car
{
    var $color;
    function __construct($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "\t$prop = $val\n";
   }
}

// 实例一个对象
$herbie = new Car("white");

// 显示 herbie 属性
echo "\therbie: Properties\n";
print_vars($herbie);

?>  

</body>
</html>

PHP NULL值

NULL值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

PHP 资源类型

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。
常见资源数据类型有打开文件、数据库连接、图形画布区域等。
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
使用 get_resource_type() 函数可以返回资源(resource)类型:

get_resource_type(resource $handle): string

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。

<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:domxml document
?>

PHP 类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。

PHP常量

常量值被定义后,在脚本的其他任何地方都不能被改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
常量是全局的,常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

<?php
define("GREETING", "欢迎访问 mxzfun.xyz");
 
function myTest() {
    echo GREETING;
}
 
myTest();    // 输出 "欢迎访问 mxzfun.xyz"
?>

PHP 字符串变量

字符串变量用于存储并处理文本,用于包含有字符的值。可以直接在函数中使用字符串,或者把它存储在变量中。

<?php
$txt="Hello world!";
echo $txt;
?>

常用的操作字符串的函数和运算符

PHP 并置运算符

在 PHP 中,只有一个字符串运算符,并置运算符 (.) 用于把两个字符串值连接起来。
演示如何将两个字符串变量连接在一起:

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;  //输出:Hello world! What a nice day!
?>

PHP strlen() 函数

strlen() 函数返回字符串的长度(字节数)。

<?php
echo strlen("Hello world!");  //12
?>

PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

<?php
echo strpos("Hello world!","world");
?>    //字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。

PHP 运算符

PHP 算术运算符

加减乘除都一样,这里仅举比较少见的:

  • x % y 模(除法的余数) x 除以 y 的余数
  • - x 取反 x 取反
  • a . b 并置 连接两个字符串
  • intdiv(),该函数返回值为第一个参数除于第二个参数的值并取整(向下取整)

    <?php
    var_dump(intdiv(10, 3));
    ?> //int(3)
    

三元运算符

另一个条件运算符是"?:"(或三元)运算符 。
语法格式:(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

以下实例中通过判断 $_GET 请求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:

<?php
$test = 'greeee123';
// 普通写法
$username = isset($test) ? $test : 'nobody';
echo $username, PHP_EOL;
 
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';
echo $username, PHP_EOL;
?>

组合比较符(PHP7+)

PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法格式如下:$c = $a <=> $b;
解析如下:

如果 $a > $b, 则 $c 的值为 1。
如果 $a == $b, 则 $c 的值为 0。
如果 $a < $b, 则 $c 的值为 -1。

实例如下:

<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
 
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

声明:三二一的一的二|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - PHP echo 和 print 语句 —— EOF(heredoc) —— 数据类型 —— 类型比较 —— 常量 —— 字符串变量 —— 运算符


三二一的一的二