因为招新培训,所以写下这篇博客,浅谈PHP中的输出、运算符、数组、表单等知识点,希望能带小鲜肉入门,给到他们帮助
- 输出
就像C里的printf( )一样,在PHP中的输出函数是echo和print;
因为print的输出速度稍慢,所以我们常用的是echo
在输出变量时可以直接echo $name; (echo直接对变量进行解析)
在输出字符串时,利用“ ”或者‘ ’进行解析
echo和print实际上并不是函数,所以在使用时不需要带上()
我们可以从它们输出实例看到:
echo "Hello World!"; echo " ";
print "hello world!"; //很少用
echo "<br>";
$name = "SinaZhou";
echo $name; //echo直接解析变量
echo " "; //echo输出静态元素先用""解析
echo "$name"; //双引号对变量进行解析
echo "<br>";
echo "Hello everyone \n my name is Sina"; // \n , \r , \t 等带“\”进行了转义的字符,利用双引号解析后echo,只能改变网页源代码,而改变不了网页的显示效果
- 大小写敏感
PHP中所有类和关键词(例如 if、else、echo 等等)以及用户定义的函数,都对大小写不敏感
echo "Hello World!";
ECHO "Hello World!";
注意! 所有变量都对大小写敏感
$test = "Hello World";
echo $test;
echo $Test; //会直接报出错警告,因为Test这个变量不存在
- 运算符
字符串运算符:
PHP中有且只有一个字符串运算符: . (点连接符)
作用:连接多个字符串值
$test1 = "Hello everyone";
$test2 = "my name is Sina";
echo $test1.",".$test2; //用点连接符把两个字符串变量和“,”连接起来
echo "</br>";
$test3 = 22;
echo "i'm ".$test3." years old"; //也可以将字符串与数字连接,这时类型会自动转换
算术运算符:
+ - * / % ++ - -
$a=1;$b=5;
$a++; //自加
$b--; //自减
$c=$a%$b; //取余
$s=($a+$b)*$c/2;
echo $s; //会输出几捏:)
赋值运算符:
= += -= *= /= %= .=
$a = abc;
$a.= 1;
$a.= 2;
$a.= 3;
echo $a; //输出啥捏:)
比较运算符:
> < >= <= == != <> === !==
<>:为不等于和!=相同
===:恒等,值相等且类型一致
!==:非恒等,值不相等或类型不一致
$a = "123";
$b = 123;
if(2 <> 3 && $a !== $b && $a == $b){ //&&是逻辑运算符,逻辑与
echo $a." ".$b; //结果输出:123 123
}
- 数组
啥是数组
数组是特殊的变量,它可以同时保存一个以上的值。
数组能够在单一变量名中存储许多值,并且我们能够通过引用下标号来访问某个值
数组的每个实体都包含两项:键和值(下标和对应值)
数组类型
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组 (常见的C中以数字为下标的数组)
关联数组 - 带有指定键的数组 (PHP中有C没有的,以字符串为下标的数组)
多维数组 - 包含一个或多个数组的数组 (强调多维,和C没啥差)
创建数组
创建数组函数:array()
对于索引数组:
索引是自动分配的(索引从 0 开始,也就是下标啦,下标自动从0开始)
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
或者也可以手动分配索引:
<?php
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
$arrlength=count($cars); //利用count()函数计算数组长度
for($x=0;$x<$arrlength;$x++) { //利用循环遍历输出数组
echo $cars[$x];
echo "<br>";
}
?>
对于关联数组:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); //用array定义关联数组时,用"键名"=>"键值"的规范
echo "Peter is " . $age['Peter'] . " years old.";
?>
或者也可以手动分配索引:
<?php
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
foreach($age as $x=>$x_value) { //foreach循环结构,一般用来遍历关联数组,我要对age这个数组 用 键名=>键值 的方式取值
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
- 超全局变量 $_GET 和 $_POST
<!-- test1.php文件 -->
<form action="test2.php" method="post">
请输入梯形上底边长:<input type="text" name="up">
请输入梯形下底边长:<input type="text" name="down">
请输入梯形的高:<input type="text" name="heigh">
<br>
<input type="submit" name="sm" value="提交">
</form>
//test2.php文件
梯形的上底边长是 <?php $a=$_POST['up']; echo $a; ?>
梯形的下底边长是 <?php $b=$_POST['down']; echo $b; ?>
梯形的高是 <?php $c=$_POST['heigh']; echo $c;?>
的梯形面积为:<?php $s=($a+$b)*$c/2; echo $s; ?>
首先在test1.php中看到,我们在静态页面设计中学过,这叫表单
form标签中 :
action 的值指定了跳转位置(在例子中则是,填写完了梯形的和高以后结果显示在一个叫test2.php的文件中)
method 的值则说明了值的传输方式到底是怎样的,有GET和POST两种方法,在这里我们选择了post
GET vs POST
超全局变量,意味着对它们的访问无需考虑作用域 - 无需任何特殊代码,您能够从任何函数、类或文件访问它们。
GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, …))。
此数组包含键/值对,其中的键是表单控件的名称(input 的 name 值),而值是来自用户的输入数据。
GET 和 POST 系统定义的写法: $_GET 和 $_POST。
$_GET (传递的参数在URL上是可见的)
通过 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。
GET 对所发送信息的数量也有限制。限制在大于 2000 个字符。
GET 可用于发送非敏感的数据。
$_POST (传递的参数在URL上是不可见的)
通过 POST 方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中)
并且对所发送信息的数量也无限制。
提示:开发者偏爱 POST 来发送表单数据。
所以我们使用超全局变量$_POST将用户所填写的梯形信息全部存储起来,在test2.php中把值给取下来使用即可
PS:手册是很好很好的学习工具:)