PHP变量:终极指南

PHP变量:终极指南

变量在每种编程语言中都很重要——在PHP中也不例外。变量使开发人员能够临时存储PHP脚本中使用的数据(在PHP的情况下,这发生在服务器的内存中)。本指南是关于在PHP中使用变量的。

顺便说一下,如果你刚刚开始使用PHP,我建议你先阅读这个指南:学习PHP:开始使用PHP

评论,评论,评论!

在我们开始之前,我想向您介绍PHP注释。

作为一名开发人员,你应该试着注释你的代码,这样你的代码逻辑才能被很好地解释;这是其中一个程序员应该具备的好习惯

PHP变量:终极指南甚至不用看PHP代码,只要阅读注释(绿色部分)就知道这个函数能做什么。

评论是如何工作的?

在一行中放置注释的一种方法是使用两个正斜杠(//)。

<?php//这是注释'Hello World!';//这是另一个注释? >

注释的另一种方式是通过a注释块它被/ * * /。当注释超过几行时,您需要使用注释块。

<?php/*通过使用注释块,您可以将注释放在多行上。* /'Hello World!';? >

另一种方法是很少使用现在-正在使用一个散列符号(#)在评论前面。

<?php echo 'I\'m using comments!';注释的另一种语法? >

PHP和变量

PHP变量总是以美元符号(美元).这只是为了让PHP解析器知道我们正在处理变量。您应该总是尽量给变量起描述性的名称。

字母数字字符(即

无所不包的无所不包的,0 - 9)和下划线(_),但名称不能以数字开头。如果变量包含其他字符或以数字开头,则会产生解析错误。

<?php/ /有效player_name美元;/ /有效playerName美元;/ /有效_player_name美元;//无效-有空格美元的球员名称;//无效-以数字开头1美元;/ /有效player2nd美元;? >

变量名没有美元符号(美元),或者包含无效字符的变量名很可能导致解析错误。

由于解析错误,PHP在第4行中止解析器。

给变量赋值

如果不给变量赋值,它就是无用的!将数据赋值给变量是这样做的:

<?php player_name美元“弗雷迪”;? >

我们现在有一个变量叫做player_name美元它包含一个字符串值“Freddy”。

打印变量

输出变量的值回声

<?php $player_name = 'Freddy';回声player_name美元;? >

如果要将变量与静态字符串组合,可以使用句点()将字符串附加在一起,如下所示:

<?php $player_name = 'Freddy';//输出"Hello Freddy!"echo 'Hello 'player_name美元“!”;? >

或者,您可以使用引号,它为变量解析字符串。

<?php $player_name = 'Freddy';//输出'Hello Freddy'!echo "Hello $player_name ";//输出'Hello $player_name!',因为它使用单引号//因此$player_name被视为字面值字符串echo 'Hello $player_name ';? >

这里有几个打印变量的例子,只是为了强调这个概念。

<?php $player_name = 'Freddy';$player_friend = 'Tim';//输出'Hello Freddy!

蒂姆还是你的朋友吗?”
echo 'Hello '。player_name美元。'!

是。player_friend美元。“还是你的朋友吗?”$color = '蓝色';$animal = '狮子';$text = 'I saw a '。

美元的颜色。’”。美元的动物。

“今天当我和……走在一起时。”player_friend美元。’和’。

player_name美元;//打印出“我今天和蒂姆和弗雷迪一起散步时看到了一只蓝狮”。echo $文本;? >

关于PHP数据类型

在大多数编程语言中,变量的数据类型只能定义一次。在PHP中,情况并非如此。如果使用PHP,则不能定义变量的类型。

它是隐式定义的,这意味着将根据分配给变量的数据类型自动为您设置数据类型。这可能现在听起来很困惑,但稍后,它会变得有意义,所以请耐心听我说。

空数据类型

数据类型null指的是“无”。每个没有赋值的变量都是null类型的变量。Null就是0字节。

分配To一个变量将从内存中删除该变量的内容。

<?php//没有赋值的变量等于nullplayer_name美元;//现在$player_name不再为空$player_name = 'Freddy';// $player_name再次为空,字符串'Freddy'已从内存中删除$player_name = null;// $player_name不再为空$player_name = 'Freddy';// unset()是一个PHP函数,与$player_name = null;设置($ player_name);? >

数据类型切换

你看到我们刚才做的了吗?我们从空数据类型跳到字符串数据类型然后,变量突然又变成空了。我保证,没有魔法或巫术!

PHP是松散类型,这意味着一个变量不限于一种数据类型。

这意味着您可以在所有可用的数据类型之间切换任何变量,而无需执行任何操作。这也被称为类型的

然而,我必须注意,类型切换在资源上是昂贵的——并且可能在脚本中引入潜在的逻辑错误点——因此,如果可能的话,您应该始终尝试将变量限制为一种数据类型。

使用类型杂耍只有当你真的需要的时候。

Bool数据类型

Bool是Boolean的缩写。它是最小的数据类型。

布尔值只能是两个值之一:true或false。

<?PHP $new_items =真正的;//有新项目可用…$ has_permission =;//可惜你没有权限阅读它们!? >

注意:Null、true和false是不应该在带有撇号的变量赋值中使用的单词,如果您想保持它们的功能。请参阅下面的代码块以获得说明。

<?PHP $new_items = true;//这不是一个布尔值!只是一个字符串。$has_permission = 'false';// $new_items变量现在不存在$new_items = null;// $has_permission变量仍然存在,只是值被改变了//从'false'到'null'的字符串值$has_permission = 'null';? >

关于var_dump ()

是时候谈谈var_dump ()PHP函数,因为它将极大地帮助您调试和了解更多关于变量的信息。

这个函数显示变量的详细信息,包括变量的内容。

var_dump ()是一个可以接受任何表达式的函数。处理表达式后,结果和有关表达式结果的附加信息将打印在屏幕上。

为了保持可读性,最好总是将调用包装起来var_dump ()之间的< >之前HTML标签。这不是必需的,但确实可以提高输出的可读性。

提示:将多个参数传递给函数是通过用逗号(,)分隔来完成的。

<?PHP echo '
';$new_items = true;//这是一个拼写单词'false'的字符串,它不会被视为布尔值$has_permission = 'false';//使用上面的两个变量作为参数调用var_dump()var_dump (new_items, has_permission美元);回声“< br >”;$new_items = null;//这是一个拼写单词'null'的字符串,它没有被处理//作为数据类型null$has_permission = 'null';//我们已经改变了变量,所以我们再做一次检查var_dump (new_items, has_permission美元);回声的< / >之前;? >

的输出屏幕截图var_dump ()

注意,它告诉您两个变量的数据类型、大小和值。例如,$has_permission = 'false';结果是avar_dump字符串(5)“假”,这意味着它是一个字符串数据类型,有5个字符,字符串值为' false '。

和我们预料的一样。

如你所见,var_dump ()是一个非常有用的函数。在本PHP指南的上下文中,它可以很好地了解类型杂耍是如何工作的-但是您会发现它是调试PHP脚本的一个很好的工具。

Int数据类型

int是整型的缩写,它只是一个数字。

整数的最大大小与平台有关(这意味着它取决于您的web服务器的操作系统和设置),尽管典型的最大值约为20亿。如果服务器是64位平台,最大值约为9e18。

整数总是用于存储数值。因为它们是数字,所以可以对它们执行数学运算。

<?PHP $number = 10;//将当前值乘以10。$number现在是100。$number = $number * 10;//和上面一样,但是更短。现在,$number是1000。$number *= 10;//给$number加5。$number现在是1005。$number += 5;//与上面的操作相同,只是语法不同。

$number现在是1010。
$number = $number + 5;/ /减5。我们回到1005。$number -= 5;//再次减去5。现在是1000。$number = $number - 5;//输出1000echo $数量;//仍然是100,我们可以使用科学记数法赋值$number = 1e3;//允许使用二进制。这在十进制中等于37377。$number = 0111001;//一个八进制数(在十进制中等于2)$number = 0287;//允许使用负数$number = -2;//十六进制值(在十进制中等于546)$number = 0x222;? >

Float数据类型

与必须是整数的整数不同,浮点数可以有小数,例如12.36051.32179

检查和测试下面的代码块,看看float变量是如何工作的:

<?PHP echo '
';$number = 10;var_dump()美元数);Echo '
';// 10除以6。$number /= 6;var_dump()美元数);回声的< / >之前;? >

我们的整数通过除以6转换为浮点数据类型。

float比整型精度高,但需要比整型更多的存储空间。

浮点数的最大大小(就像整数一样)依赖于平台。最大值通常为1.8e308。

浮点不精度

二进制系统(即1和0)不是为浮点数构建的。

这就是为什么像0.4和0.8这样的简单十进制分数不能在不损失精度的情况下转换为二进制分数的原因。当你在开发一个必须处理大量浮点数的web应用程序时,请记住这一点。

字符串数据类型

如果有一种数据类型您应该已经很熟悉了,那就是字符串,因为您已经在前面看到过它的实际应用。字符串数据类型是PHP已知的最大的数据类型。

最大大小等于服务器内存的大小。您应该始终注意不要超过这个大小(这很难做到,除非您有意尝试超过它-但是,您仍然应该注意)。

我们已经介绍了将常规文本字符串与变量组合在一起,您也知道使用单引号(例如' string ')与使用引号(例如' string ')之间的区别。

“字符串”),在学习PHP:开始使用PHP指南。

我们还没有讨论的是逃跑的字符。还记得我们是怎么处理缩进的吗\ n\ t在“入门”指南中?这些被称为换行符,它们被归类为转义字符。

阅读、分析和测试下面的代码块,以理解字符串变量中的转义字符。另外,请查看此表以查看PHP中转义字符的列表。

<?php echo "你知道这个字符串的输出是什么";\n\r特殊字符'\\r'是新的。";Echo "\n'\\t'等于一个水平制表符,但'\\v'将导致一个垂直制表符";Echo "\n'\\f'将输出一个表单提要";如果你想在字符串中使用常规的美元符号(\$)怎么办?

我们逃离它!像这样:'\\$'.";回声“\ nSame双引号 (\"): '\\\"'";? >

型铸造

在本PHP变量指南中,我们要介绍的最后一件事是类型转换。类型转换是将特定数据类型转换为另一种数据类型的过程的名称。

从字符串数据类型切换到整数数据类型)。

一些数据类型有自己的函数来处理其他数据类型的强制转换。通过在要强制转换的数据前面加上数据类型的名称,几乎可以将每个数据类型强制转换为另一种类型。(保龄球)myString美元).

哇,这听起来很复杂,但是阅读下面代码块中的注释,一切都会变得更清楚。

<?PHP echo '
';//将null转换为任何其他数据类型将产生该数据类型的默认值(false, 0,0和空字符串)//我们首先将整数转换为null。您可以将整数//替换为任何其他数据类型。$number = 15;//尝试在$number上使用var_dump,看看会得到什么。$number = (unset) $number;Echo '

';/* bool *///除0以外的任何数字都将被强制转换为true$number_a = 0;$number_b = 3;// false, true$number_a, (bool) $number_b);Echo '
';//当将空字符串强制转换为布尔值时,结果将为'false'$string_a = ";//该值也将导致'false',其他字符串将导致'true'$string_b = '0';//这将被强制转换为'true'$string_c = 'Hello World!';//假,假,真(bool) $string_a, (bool) $string_b, (bool) $string_c);Echo '

';/* int */ //结果为1$bool_a = true;/ /……和this will become 0.$bool_b = false;Var_dump ($bool_a, (int) $bool_b);Echo '

';//转换为整数的浮点数将失去其十进制精度,如果它们//大于整数,则新整数将是//最大值。如果要将字符串强制转换为int型,则会将尽可能多的整型数据//强制转换$string_a = '13 posts';//只使用前两位数字$string_b = '45e2升';//13和45000(int) $string_a, (int) $string_b);/* float */ //将字符串和布尔值转换为浮点数的工作方式与整型相同。//将整型转换为浮点型只会改变数据类型。

//不会发生其他任何事情Echo '

';/* string */ //将bool类型转换为字符串将导致true为'1',false为'0' //整数和浮点数将被转换为对应的文本$number = 500;//返回一个包含字符'500'的字符串var_dump ((string)美元数);? >

结论

在本指南中,我们尽可能多地学习了关于注释代码、变量、变量类型和变量强制转换的知识。如果你有任何问题,请在评论中提出。

相关内容

WebFX职业

加入我们的使命,为全球各地的企业提供行业领先的数字营销服务-同时建立您的个人知识并成长为个人。

我们招聘!
查看30多个职位空缺!