Day18-PHP-入门1
一、变量
二、echo/print
三、常量
四、字符串变量
五、PHP 数组
六、数组排序
1、DNS就是一个把域名和IP 相互映射的一个分布式数据库了,端口是在一个电脑种区分不同软件和访问的东西了
一、变量
PHP 有四种不同的变量作用域:
- local
- global
- static
- parameter
①global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字
<?php $x = 5; $y = 10; function myTest(){ global $x,$y; $y = $x + $y; } myTest(); echo $y; ?>
er
②Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字
<?php function myTest(){ static $x = 0; echo $x; $x++; echo PHP_EOL;//换行符 } myTest(); myTest(); myTest(); // 0 1 2 ?>
然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注释:该变量仍然是函数的局部变量
注意点:
1、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。
二、echo/print
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
echo 或 echo()。
在echo输出的东西里面可以包含HTML标签
<?php echo "<h2>PHP 很有趣!</h2>"; echo "Hello world!<br>"; //br是换行符也可以用PHP_EOL echo "我要学 PHP!<br>"; echo "这是一个", "字符串,", "使用了", "多个", "参数。"; ?>
扩展定义与使用数组
<?php $cars=array("Volvo","BMW","Toyota"); echo "我车的品牌是 {$cars[0]}";
//我车的品牌是 Volvo ?>
三、常量
设置常量,使用 define() 函数
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
<?php define("GREETING","213",true); echo greeting; //213 ?>
备注:常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
四、字符串变量
1、PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
<?php $txt1 = "a!"; $txt2 = "b!"; echo $txt1.$txt2; //a!b! ?>
2、strlen函数
3、strpos 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
对于中文,可以使用 mb_strpos 来查询中文字符的位置
另外:
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较
小扩展:php里面用elseif 和 else if 是一样的效果
五、PHP 数组
1、获取数组的长度 - count() 函数
$arrlength=count($cars);
2、关联数组
<?php $age = array("a"=>"1" , "b"=>"2" , "c"=>"3"); echo $age['a']; ?>
遍历关联数组
<?php $age = array("a"=>"1" , "b"=>"2" , "c"=>"3"); echo $age['a'] . "<br>"; foreach($age as $x=>$x_value) { echo $x.$x_value."<br>"; } ?>
这里使用的是foreach 然后里面通过as语法来遍历的,for和foreach是不同的
注意!!
六、数组排序
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列
1、sort
小扩展:print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示
<?php $numbers=array(4,6,2,22,11); sort($numbers); ?>
2、rsort() - 对数组进行降序排列
下面的这些就是对光联数组进行操作了
1、asort() - 根据数组的值,对数组进行升序排列
下面的实例根据数组的值,对关联数组进行升序排列:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); asort($age); ?>
2、ksort() - 根据数组的键,对数组进行升序排列
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); ksort($age); ?>